[英]How to get a value from other table if it has one to many relation in Eloquent laravel 6?
我有2張桌子。
1. Staff <br/>
id | fname | lname | department
2. Department<br/>
id | name
員工和部門之間存在關系。 部門有很多員工,員工只有一個部門。 現在我正在嘗試獲取員工的數據。 因此,而不是department
的工作人員表,我應該得到的名字department
表。
這是我的模型 - 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
檢查 -
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;
}
希望它會起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.