查询控制器中的所有内容并返回每个查询更快,还是在使用视图时查询更快?
假设所有模型都有关系
Example:
完成控制器中的所有操作然后返回
Public function articlesHome($id)
{
$art = Articles::find($id);
$cit = Articles::city();
$tag = Articles::tags();
Return view('articles', compact('art', 'tag', 'cit');
}
或者在视图中(控制器返回 $article 后)
{{ $article->name }}
...
{{ $article->city->name }}
...
@foreach($article->tags as tag)
{{ tag->name }}
@endforeach
这在实践中是最好的并且更快。
就性能而言,只需找到一种方法来减少数据库查询以获得相同结果即可。
一个好的方法是让 laravel 通过一个命令为您完成此操作:
Public function articlesHome($id)
{
$article = Articles::whereId($id)->with('city','tags')->get();
Return view('articles', compact('article');
}
你的观点也会是一样的。文章关系已经建立,因此不会进行额外的查询。
{{ $article->name }}
...
{{ $article->city->name }}
...
@foreach($article->tags as tag)
{{ tag->name }}
@endforeach
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)