[英]How to use Multi table queries in Laravel without using Eloquent Relationships
[英]How should I use Laravel Eloquent queries and use relationships?
我有一个User
,其模型belongsTo
一个Department
。
因此,部门获得了ID和名称字段。
在用户模型中,我得到了:
public function department() {
return $this->belongsTo('Department');
}
这样,我可以执行以下操作: Auth::user()->department->name
获取部门用户所属的实际名称。
但是,当我打电话给某些用户时,我想不出获取包含其部门属性和名称的多行的最佳方法。
我写:
$users = User::all();
foreach ($users as $user) {
$user -> department = Department::find($user->department_id)->name;
}
有一个更好的方法吗?
您可以急于加载相关模型,以便仅通过一个数据库查询即可为所有用户加载它们,并将其包含在JSON输出中:
$users = User::with('department')->get();
看来您已经有了用户模型和部门模型之间的关系。 因此,您可以像使用Auth()一样调用它。
$users = User::all();
foreach ($users as $user) {
echo $user->department->name ;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.