我有2张桌子。
1. Staff <br/>
id | fname | lname | department
2. Department<br/>
id | name
员工和部门之间存在关系。部门有很多员工,员工只有一个部门。现在我正在尝试获取员工的数据。因此,department
我应该从department
表中获取名称,而不是在 Staff 表中。
这是我的模型 - Staff Model
class Staff extends Model
{
protected $table = 'staff';
protected $fillable = ['fname', 'lname', 'department'];
function departments(){
return $this->belongsTo(Department::class, 'department');
}
}
和 - Department Model
class Department extends Model
{
protected $table = 'departments';
protected $fillable = ['name', 'updated_at'];
function staff(){
return $this->hasMany('App\Staff', 'department');
}
}
在我的控制器中,我试图获取所有员工,但我正在获取部门的 ID。我需要那个部门的名字。怎么可能?
先感谢您。
因为它是一对多的关系department
,所以你需要改变staff model
Check-
class Staff extends Model
{
protected $table = 'staff';
protected $fillable = ['fname', 'lname', 'department'];
function departments(){
return $this->belongsTo(Department::class, 'id');
}
}
现在,如果您想获取所有员工信息。
在你controller
——
public function index(){
$data = Staff::with('departments')->find(1);
return $data->departments->name;
}
希望它会起作用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句