Laravel 5基于ID获取名称
我有一个用户和部门表。所以我的departments表可能有这样一行Laravel 5基于ID获取名称,laravel,laravel-5,Laravel,Laravel 5,我有一个用户和部门表。所以我的departments表可能有这样一行 id | departmentName ---------------------- 2 | Marketing ---------------------- 用户表可能有如下内容 id | name | email | departmentId --------------------------------------
id | departmentName
----------------------
2 | Marketing
----------------------
用户表可能有如下内容
id | name | email | departmentId
-------------------------------------------------------
18 | Nick | nick@email.com | 2
-------------------------------------------------------
因此,users表通过id链接到departments表
现在在我的UserController中,在索引函数中,我
public function index()
{
$users = User::all();
return view('users.index', compact('users'));
}
现在,它将显示“我的用户”表中的所有内容
我的问题是,我不想显示部门ID。我想显示链接到该部门ID的部门名称。所以在上面的例子中,我的用户索引页面中的那一行应该显示营销,而不是2
我该怎么做呢
谢谢您可以使用。您在问题中描述的是a,这意味着一个部门可以有多个用户,每个用户都属于一个部门。因此,您需要为部门
表设置一个模型(如果您还没有这样做),然后在用户
模型中定义关系,如下所示:
类用户扩展模型
{
公共职能部()
{
返回$this->belongsTo('App\Department','departmentId');
}
}
然后,您可以通过该关系访问视图中的部门详细信息:
@foreach($users作为$user)
{{$user->department->departmentName}
@endforeach
您可以使用。您在问题中描述的是a,这意味着一个部门可以有多个用户,每个用户都属于一个部门。因此,您需要为部门
表设置一个模型(如果您还没有这样做),然后在用户
模型中定义关系,如下所示:
类用户扩展模型
{
公共职能部()
{
返回$this->belongsTo('App\Department','departmentId');
}
}
然后,您可以通过该关系访问视图中的部门详细信息:
@foreach($users作为$user)
{{$user->department->departmentName}
@endforeach
谢谢。我确实建立了一个模型和关系。在您获取部门名称的地方,这是否会在控制器中与我执行User:all()的位置一起执行?然后我把这个传给视图?或者我可以直接在视图中执行吗?感谢您可以直接在视图中执行此操作。我已经用一个更相关的用法示例更新了我的答案。当我尝试直接在视图中执行此操作时,我会在尝试获取非object属性时出错。不用担心,通过您的更新,它可以完美地工作。谢谢,谢谢。我确实建立了一个模型和关系。在您获取部门名称的地方,这是否会在控制器中与我执行User:all()的位置一起执行?然后我把这个传给视图?或者我可以直接在视图中执行吗?感谢您可以直接在视图中执行此操作。我已经用一个更相关的用法示例更新了我的答案。当我尝试直接在视图中执行此操作时,我会在尝试获取非object属性时出错。不用担心,通过您的更新,它可以完美地工作。谢谢