[英]Laravel Eloquent belongsTo relationship is not working
我正在嘗試使用belongsTo
在兩個表之間創建一個關系,但它似乎不起作用。
這兩個表分別是文檔和部門,每個文檔都屬於一個部門。
單據
id INT
department INT
部門
id INT
name varchar(255)
這是定義關系的功能
public function department(){
// department: foreign key
// id : departments table primary key
return $this->belongsTo('\App\Department' , 'department' , 'id');
}
這是訪問器功能
public function getDepartmentAttribute(){
return $this->department()->first()->name;
}
它返回以下錯誤消息: Undefined property: App\\AjaxSearch::$department
在文件表中添加
department_id INT Foreign
在您的文件遷移中
$table->integer('department')->unsigned();
同時編輯關系
public function department() {
return $this->belongsTo('App\Department', 'department');
}
更新
確定,根據您的更新,您可以獲得這樣的部門名稱
$doc = Document::find(1);
$name = $doc->department->name;
您需要檢查相關記錄是否存在
public function department()
{
return $this->belongsTo('App\Department', 'department');
}
$ document是您當前的文檔記錄。
$name = (empty($document->department->id) === false) ? ($document->department->name) : '';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.