我有一个Laravel 5视图,我想知道关于性能,在视图内部使用模型关系是否真的是一件好事。
假设汽车模型与挡风玻璃具有一对一的关系。
<div class="col-lg-4">
<div class="form-group">
<label class="col-lg-4 control-label">Windshield Model</label>
<div class="col-lg-8">
<p class="form-control-static">{{$car->windshield->model}}</p>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="form-group">
<label class="col-lg-4 control-label">Windshield Height</label>
<div class="col-lg-8">
<p class="form-control-static">{{$car->windshield->height}}</p>
</div>
</div>
</div>
我的问题是,每次我执行$ car-> windshield-> someProperty Eloquent都会执行查询。这是一件好事吗?我的意思是,性能如何?如果我想显示汽车挡风玻璃的n个属性,Eloquent将执行N个查询,对吗?
我认为这不是一个好主意,因为它是一种反MVC模式。另外我不确定在这种情况下缓存是否可以正常工作
要解决N + 1问题,您应该使用Eager加载:
https://laravel.com/docs/5.1/eloquent-relationships#eager-loading
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句