不点击分类名是正常的
点击后:
控制器代码:
public function index(Request $request,$id=null){
if($id){
//通过分类id获取 分类下所有影片id
$db = \DB::table('film_info')->select('id')->where('type_id',$id)->get();
//通过影片id链接查询 评论内容和用户
foreach($db as $v){
$film_cmt[] = \DB::table('film_cmt')
->join('film_info', 'film_cmt.film_id', '=' , 'film_info.id')
->join('user', 'Film_cmt.user_id', '=', 'user.id')
->select('film_cmt.id',
'user.name',
'film_info.title',
'film_cmt.time',
'film_cmt.text'
)
->where('film_id',$v->id)
->paginate(5);
}
//数据转为一维数组
foreach($film_cmt as $stu){
foreach($stu as $v){
$list[] = $v;
}
}
}else{
$list = $this->join();
}
$where = [];
if($request->has('title')){
$title = $request->input('title');
$db->where("title","like","%{$title}%");
$where['title'] = $title;
}
//查询分类表 id 分类名
$type_table = \DB::table('film_type')->select('id','type')->get();
return view('admin.Film_cmt.index',['cmt'=>$list,'where'=>$where,'type_table'=>$type_table]);
}
public function join(){
$film_cmt = \DB::table('film_cmt')
->join('film_info', 'film_cmt.film_id', '=' , 'film_info.id')
->join('user', 'Film_cmt.user_id', '=', 'user.id')
->select('film_cmt.id',
'user.name',
'film_info.title',
'film_cmt.time',
'film_cmt.text'
)
->paginate(5);
return $film_cmt;
}
模版代码
<div class="box-body">
<table class="table table-bordered">
<tr>
<th>评论ID</th>
<th>用户</th>
<th>影片名</th>
<th>评论内容</th>
<th>评论时间</th>
<th style="width: 100px">操作</th>
</tr>
@foreach($cmt as $stu)
<tr>
<td>{{$stu->id}}</td>
<td>{{$stu->name}}</td>
<td>{{$stu->title}}</td>
<td>{{$stu->text}}</td>
<td>{{$stu->time}}</td>
<td> <a href="{{url('admin/cmt/del')}}/{{$stu->id}}">删除</a> | <a href="{{url('admin/cmt/edit')}}/{{$stu->id}}">编辑</a></td>
</tr>
@endforeach
</table>
</div><!-- /.box-body -->
<div class="box-footer clearfix">
{{$cmt->appends($where)->links()}}
</div>
</div><!-- /.box -->
你的list是一个数组,但是数组有$arr->a这种调用方法吗?
报错信息已经写的很明白了