Laravel数据预加载

一、场景
当一个文章展示页面需要展示评论时候,在文章模型中写关联方法取出该文章所有的评论,在展示的时候实际不需要获取。直接传入模型数据就可以。在视图层直接调用关联方法就可以。但是实际情况是:获取数据逻辑不在视图层。所以在控制层获取
二、代码实现
模型层方法:

public function comment(){
        return $this->hasMany('App\Http\Model\Comment')->orderBy('created_at','desc');
    }

控制器层方法:

public function show(Article $article){
        //评论预加载
        $article->load('comment');
        return view('home.article.show',compact('article'));
    }

视图层:

@foreach($article->comment as $comment)
            <li class="list-group-item">
                <h5>{{$comment->created_at}} by {{$comment->user->name}}</h5>
                <div>
                    {{$comment->content}}
                </div>
            </li>
@endforeach
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容