我有一個數據庫結構如下。Laravel 5 - 模型之間的關係
campaign
id | name | ...
----------------------
5 | something | ...
----------------------
campaign_creatives
id | type | campaignId
---------------------------------
1 | something | 5
---------------------------------
campaign_creatives_data
id | name | campaignCreativesId
--------------------------------------------
1 | something | 1
--------------------------------------------
2 | something | 1
--------------------------------------------
3 | something | 1
--------------------------------------------
在我的運動模式,我有
public function campaignCreatives()
{
return $this->hasOne('App\CampaignCreatives', 'campaignId');
}
在CampaignCreatives我
public function campaign()
{
return $this->belongsTo('App\Campaign');
}
public function campaignCreativesData()
{
return $this->hasMany('App\CampaignCreativesData', 'campaignCreativesId');
}
並在CampaignCreativesData
public function campaignCreatives()
{
return $this->belongsTo('App\CampaignCreatives');
}
這背後的理論是一個運動Ç有一個CampaignCreatives。 CampaignCreatives可以有一個或多個CampaignCreativesData。
我不太確定我的模型對此是否正確?我有一種感覺,它不是。原因我說這是在我的一個觀點中,如果我做
{{ dd($campaignCreative) }}
我可以看到有關campaignCreative的信息。但是,如果我做
{{ dd($campaignCreative->campaignCreativesData) }}
我得到警告
Undefined property: Illuminate\Database\Eloquent\Collection::$campaignCreativesData
是我的關係,建立適當的,還是我做錯事與外鍵?
感謝
看來你'$ campaignCreative'是一個集合,而不是單個對象。 'dd($ campaignCreative)'的輸出是什麼? – microtony
這是一個集合 –
哦,如果我把它作爲一個單一的對象來代替,那麼我可以訪問數據:-) –