我有一个User
模型,该模型belongsTo
是Department
。
因此Department得到了id和name字段。
在我得到的用户模型:
public function department() {
return $this->belongsTo('Department');
}
这样,我可以做一些类似的事情:Auth::user()->department->name
获取用户所属部门的实际名称。
然而,当我调用一些用户时,我无法找到最好的方法来获得包含其department属性和名称的多行。
我写道:
$users = User::all();
foreach ($users as $user) {
$user -> department = Department::find($user->department_id)->name;
}
有更好的方法吗?
您可以急切地加载相关模型,以便只为所有用户加载一个数据库查询,并将其包含在JSON输出中:
$users = User::with('department')->get();
有关Laravel Docs 中热切加载的更多信息
您似乎已经了解了用户模型和部门模型之间的关系。所以你可以像使用Auth()一样调用它。
$users = User::all();
foreach ($users as $user) {
echo $user->department->name ;
}