我的用户与hasMany有关系“animals”。
在导航栏中,将显示第一个动物结果以及他收集的数量。
{{Auth::user()->animals()->first()->name}}
{{Auth::user()->animals()->first()->amount}}
这会产生两个sql查询。
由于这是导航栏,总是将用户加载到$ user变量的安全方法是什么?
如果我使用Auth :: user(),我怎么能加载动物?
全局用户变量是否有意义,或者控制器是否总是将$ user传递给视图更好更安全?
此代码还会生成三个查询:
$user=Auth::user();
$user->load('animals');
echo $user->animals()->first()->name;
echo $user->animals()->first()->amount;
我认为first()是罪魁祸首。 访问预先加载的集合的第一个元素的正确和最简单的方法是什么?