繁体   English   中英

我应该如何使用Laravel雄辩的查询和使用关系?

[英]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();

有关在Laravel文档中渴望加载的更多信息

看来您已经有了用户模型和部门模型之间的关系。 因此,您可以像使用Auth()一样调用它。

$users = User::all();
foreach ($users as $user) {
    echo $user->department->name ;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM