Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 5基于ID获取名称_Laravel_Laravel 5 - Fatal编程技术网

Laravel 5基于ID获取名称

Laravel 5基于ID获取名称,laravel,laravel-5,Laravel,Laravel 5,我有一个用户和部门表。所以我的departments表可能有这样一行 id | departmentName ---------------------- 2 | Marketing ---------------------- 用户表可能有如下内容 id | name | email | departmentId --------------------------------------

我有一个用户和部门表。所以我的departments表可能有这样一行

 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属性时出错。不用担心,通过您的更新,它可以完美地工作。谢谢