簡體   English   中英

Laravel Eloquent屬於不工作

[英]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
  • GetAccessor( $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.

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