簡體   English   中英

Laravel模型/視圖關系

[英]Laravel Model/View Relationship

我正在學習Laravel,只是不明白如何解決以下問題。

我有兩個表(當然不是數據庫):)

Table: Birds
id
name
species
....

Table: Eggs
id
egg_number
parent_id
....

樣本數據:

bird
id 1
name Jeff

egg
id 1
parent_id 1

我有兩個模型,分別是Bird和Egg,我只是顯示數據庫(MySQL)中可用的數據。

eggs.blade.php

@foreach ($eggs as $egg)
..form data
{{ $egg->id }}
{{ $egg->parent_id }}
..end of form
@endforeach

一切正常。 但是,我希望顯示父(鳥)的名稱而不是ID。 (因此從示例數據中將顯示Jeff)

我嘗試在模型中使用它

return $this->belongsTo('Bird'); //in Egg Model
return $this->belongsTo('Egg'); //in Bird Model

非常感謝您對此提供的任何幫助/說明。

通過執行以下步驟很容易建立關聯:1-在Bird Model中,您必須這樣做

public function Eggs(){
return $this->hasMany('App\Egg');
}

2-然后在雞蛋模型中

public function Bird(){
return $this->belongsTo('App\Bird');
}

有關更多信息,請訪問Laravel Documention

希望能幫到您..

Egg模型中,您需要像這樣設置關系:

public function bird()
{
    return $this->belongsTo(Bird::class,'parent_id');
}

如果您的列將是bird_id ,它將自己找到外鍵列,但是由於它會自動嘗試附加_id的模型名稱,因此不知道要使用哪個列。 但是,您可以直接使用belongsTo()的第二個參數指定引用Bird主鍵的列。

完成此操作后,您將可以像下面這樣簡單地引用關系:

{{ $egg->bird->name }}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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