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)
            
  • {{$comment->created_at}} by {{$comment->user->name}}
    {{$comment->content}}
  • @endforeach

    你可能感兴趣的:(Laravel数据预加载)