为foreach()提供的参数无效 - laravel 5.6

时间:2018-05-22 03:27:36

标签: php laravel foreach arguments

新手在这里练习laravel,我正在使用laravel 5.6制作电影库存..我可以在那里做基本的CRUD功能。

在这里,我按流派整理电影。但是我想出了这个错误为foreach()提供的无效参数;

这是我的路线:web.php

Route :: resource('movies','MoviesController');

Route :: get('movies / year / {movie}','MoviesController @ released');

路线:: get('movies / genre / {genre}','MoviesController @ getgenre');

这是我的控制器:MoviesController.php

public function getgenre($genre){
    $movies = Movie::where('genre', $genre)->whereIn('status', [1])->orderBy('title', 'asc')->get();
    return view('genre', compact('movies'));
}

这是我的观点:genre.blade.php

@extends( 'layouts.app')

@section( '内容')

<div class="row">
    <div class="col-md-10">
        @if($movies->count() < 1)
            <h1 style="text-align: center">No Movie Found</h1>
        @else
            @foreach($movies as $movie)
                <div class="card" style="margin-bottom: 10px;">
                    <div class="card-body">
                        <div class="card-title">
                            {{ ucwords($movie->title) }}
                        </div>
                        <div class="card-text">
                            {{ ucfirst($movie->genre) }} | {{$movie->released}} | 

                            @if($movie->seen == 1)
                                Seen: Yes
                            @else
                                Seen: No
                            @endif

                            <div style="margin-top: 5px">
                                {{ Form::open(['route' => ['movies.edit', $movie->id], 'class' => 'formupdate', 'method' => 'GET']) }}
                                    {{ Form::submit('Update', ['class' => 'btn btn-primary col-md-2']) }}
                                {{ Form::close() }}
                            </div>

                            <div style="margin-top: 5px">
                                {{ Form::open(['route' => ['movies.destroy', $movie->id], 'class' => 'formdelete', 'method' => 'DELETE']) }}

                                    {{ Form::hidden('hidden', 'hidden') }}
                                    {{ Form::submit('Delete', ['class' => 'btn btn-danger col-md-2']) }}
                                {{ Form::close() }}
                            </div>
                        </div>
                    </div>
                </div>
            @endforeach

        <div class="pagination" style="margin-top: 10px; text-align: center;">
            {{ $movie->links() }}
        </div>
        @endif
    </div>
    <div class="col-md-2">

    </div>
</div>

@stop

我测试了它dd():它有结果:

tried testing it using dd()

这是错误: here is the error

感谢,

2 个答案:

答案 0 :(得分:0)

更新此行,whereIn需要数组

$movies = Movie::where('genre', $genre)->whereIn('status', [1])->orderBy('title', 'asc')->get();

答案 1 :(得分:0)

你有两个问题: 1-更新此whereIn expect数组并在视图中使用分页,并且不将数据作为分页返回

<ul class="clearfix">
  <li (click)="selectTab(1)" [ngClass]="{active: activeTab(1)}"> 
    <span>Messages</span>
  </li>

  <li (click)="selectTab(2)" [ngClass]="{active: activeTab(2)}">  
    <span>Profile</span>
  </li>

  <li (click)="selectTab(3)" [ngClass]="{active: activeTab(3)}">  
    <span>Activity</span>
  </li>

 </ul>
 <div class="tab-content">
   <div class="animated fadeIn" *ngIf="tab === 1">
     Content 1
   </div>
   <div class="animated fadeIn" *ngIf="tab === 2">
     Content 2
   </div>
   <div class="animated fadeIn" *ngIf="tab === 3"  >
     Content 3
   </div>
</div>

2-在视图中你写了$ movie-&gt; links();将其更新为

      $movies = Movie::where('genre', $genre)->whereIn('status', [1])>orderBy('title', 'asc')->paginate(10);