首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel从另一个基于id的表中获取值

Laravel从另一个基于id的表中获取值
EN

Stack Overflow用户
提问于 2022-09-28 11:37:52
回答 2查看 37关注 0票数 0

我想从部门表中获得department_name

代码语言:javascript
运行
复制
table department = id, department_name, total_employee
table employee = id, employee_name, id_department, email, telephone, gender, status

我试过model.Employee

代码语言:javascript
运行
复制
public function department()
{
    return $this->belongsTo(Department::class);
}

controllers.EmployeeControllers

代码语言:javascript
运行
复制
public function index()
    {
        $data_employee = Employee::with('department')->get();
        return view ('employee.index', compact('data_employee '));
    }

有视野

代码语言:javascript
运行
复制
@forelse ($data_employee as $item)
<tr>
  <td class="text-center">{{ $item->employee_name}}</td>
  <td class="text-center">{{ $item->department->department_name}}</td>
  <td class="text-center">{{ $item->email}}</td>
  <td class="text-center">{{ $item->telephone}}</td>
</tr>
@endforelse

但上面写着

尝试在null上读取属性"department_name“

我做错什么了。

EN

回答 2

Stack Overflow用户

发布于 2022-09-28 11:55:00

请更换model.Employee

代码语言:javascript
运行
复制
public function department()
{
    return $this->belongsTo(Department::class, 'id_department');
}
票数 1
EN

Stack Overflow用户

发布于 2022-09-28 11:55:25

首先,你需要把你的关系写好。

代码语言:javascript
运行
复制
public function department()
{
    // You have to provide correct model name here.
    return $this->belongsTo(Department::class); 
}

其次,雄辩者通过检查关系方法的名称并用_id__后缀来确定外键名。因此,在您的示例中,雄辩者假设Employee模型有一个department_id列。但是,电话模型上的外键不是department_id,您可以将自定义密钥名作为第二个参数传递给belongsTo方法。

代码语言:javascript
运行
复制
public function department()
{
    return $this->belongsTo(Department::class, 'id_department');
}

来源在这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73880755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档