laravel - Laravel - 如何在自引用表中获取 Line Manager FullName
问题描述
在我的 Laravel-5.8 项目中,我有这个模型:
class HrEmployee extends Model
{
protected $table = 'hr_employees';
protected $fillable = [
'id',
'employee_code',
'line_manager_id',
'employee_designation_id',
'employee_grade_level_id',
'first_name',
'last_name',
'nationality_id',
'other_name',
'is_hod',
'department_id',
];
public function linemanager()
{
return $this->belongsTo('App\Models\Hr\HrEmployee','line_manager_id');
}
public function designation()
{
return $this->belongsTo('App\Models\Hr\HrDesignation','employee_designation_id');
}
public function gradelevel()
{
return $this->belongsTo('App\Models\Hr\HrGradeLevel','employee_grade_level_id');
}
public function department()
{
return $this->belongsTo('App\Models\Hr\HrDepartment','department_id');
}
public function fullName()
{
return $this->first_name . ' ' . $this->other_name . ' ' . $this->last_name;
}
}
每个员工都有一个直线经理 (line_manager_id)。Line Manager 下有多个员工,但一名员工不能拥有多个 Line Manager。直线经理也是员工
控制器
public function index()
{
$employees = HrEmployee::all();
return view('dashboard')
->with('employees', $employees);
}
看法
@foreach($employees as $key => $employee)
<!-- Profile Image -->
<div class="card card-secondary card-outline">
<div class="card-body box-profile">
<h3 class="profile-username text-center">{{auth()->user()->first_name}} {{auth()->user()->last_name}}</h3>
<p class="text-muted text-center">Designation: {{isset($employee->designation) ? $employee->designation->designation_name : 'N/A'}}</p>
<ul class="list-group list-group-unbordered mb-3">
<li class="list-group-item">
<b>Staff ID:</b> <a class="float-right">{{isset($employee->employee_code) ? $employee->employee_code : 'N/A'}}</a>
</li>
<li class="list-group-item">
<b>Department:</b> <a class="float-right">{{isset($employee->department) ? $employee->department->dept_name : 'N/A'}}</a>
</li>
<li class="list-group-item">
<b>Grade Level:</b> <a class="float-right">{{isset($employee->gradelevel) ? $employee->gradelevel->grade_level_name : 'N/A'}}</a>
</li>
<li class="list-group-item">
<b>Line Manager:</b> <a class="float-right"></a>
</li>
</ul>
</div>
<!-- /.card-body -->
</div>
<!-- /.card -->
@endforeach
员工表有 line_manager_id。所以它必须以此为参考点。从上面的视图刀片中,如何显示员工直线经理的全名(名字、姓氏)?
谢谢你。
解决方案
推荐阅读
- p5.js - 使颜色变化速度取决于mouseX
- css - 如何排除 flexbox nowrap 中的第一项?
- c# - 有没有办法在 C# 中管理相对路径?
- flutter - 使用 Dart/Flutter 调用多个回调
- vb.net - 在vb.net中使用Like可以使用一系列负数和正数进行模式匹配吗
- postgresql - Postgresql sql脚本执行
- unity3d - 如何修复漆黑的自身阴影?
- google-chrome-devtools - 如何通过 chrome devtools 模拟设备转动
- javascript - 在 for 循环中嵌套的 ajax 函数调用
- java - 引起:org.xml.sax.SAXParseException;行号:5;列号:42;元素类型“id”的内容不完整,