簡體   English   中英

Laravel雄辯的belongsTo關系不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM