2017-02-03 41 views
0

我使用的DataTable用於顯示數據的數據表Laravel顯示數據。它工作良好,但是當我想顯示來自相關表格(模型)的數據時,它們不會出現。

型號Keyword.php從相關表

public function website() { 
    return $this->belongsToMany('App\Website'); 
} 

型號Website.php

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

'網站' 數據庫表:ID,網站名稱,主頁
'關鍵字' 數據庫表:ID,website_id,kwName

地址應顯示數據:項目/'.$網站 - > ID'/編輯。(例如:項目/ 2 /編輯 - (編輯是一個刀片)) 所以,在這個地址欲顯示一個數據表,顯示某個website_id的所有kwName(在本例中爲/ 2 /)。

請幫助我該怎麼使用,如何做到這一點。

回答

1

你的口才關係是圍繞着錯誤的方式。

keywords具有經由website_id一個參考website,這是一個屬於關聯關係

website被引用許多keywords,所以這是一個有很多關係

Laravel 5.4 Eloquent Relationships

+0

只是發表評論:你可以讓他們指向海誓山盟例如沒問題'$ farmer->的hasMany( '雞')'和'$雞生蛋> hasone( '農民')' –

+0

不,這是行不通的。在一個好的數據庫設計中,總是有一個hasOne/hasMany和一個belongsTo/belongsToMany關係。你的意思是,一隻雞'hasOne'農民(農場主是雞1只的記錄,同時也保持通過chicken.farmer_id「多」等雞的記錄)。 – Jeffrey

+0

是的,你是對的,那是一個錯字。更正:它應該是'$ chicken-> belongssto('農夫')'。好點! –