[英]Laravel Eloquent belongsTo not working
我不能使belongsTo
關系工作(或我使用錯誤的關系)。
我的數據庫結構(簡化):
頁面 :
id | title | main_image ----------------------- 1 | Test | 5
媒體 :
id | filepath ----------------------- 5 | uploads/test.jpg
所以我希望能夠做$page->main_image
,它會返回我的Media模型實例,所以我可以使用$page->main_image->filepath
等。
在Page
模型中,我有以下內容:
public function main_image()
{
return $this->belongsTo('App\Modules\Media\Models\Media', 'id', 'main_image');
}
但是當我執行$page->main_image
我只得到了int 5
。 我在這里使用了錯誤的關系嗎?
謝謝!
訪問$page->main_image
如果沒有相同名稱的屬性, $page->main_image
將只嘗試查找main_image()
關系。 但是你已經有了一個名稱main_image
。 因此,您應該重命名attribut(列名稱)或關系。 我會將列重命名為main_image_id
。
要返回的優先級/順序是:
public $main_page
) $page->getMainPage()
) $page->attributes['main_page']
) $this->attributes['main_page']
) $this->relations['main_page']
) $this->main_page()->get()
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.