2016-04-14 8 views
1

私は2つのモデルは、多くの関係にhasManyのに連動していると私のテーブル構造がLaravel 5:hasManyテーブルのフィールドにアクセスする方法は?

clients = id|title...etc 
roles = id|title...etc 
client_role = id|client_id|role_id|desc 

何もかもが が、今私はそれを行うことができますどのようにclient_roleテーブルの上にDESCフィールドにアクセスする素晴らしい作品がありますか?試しました

$client = Client::first()->roles()->desc 
//nothing returned! 
$client = Client::first()->desc 

何もありません!あなたが列をロードする必要が

$client = Client::with('roles')->first(); 
dd($client->roles); // Laravel Collection 
+1

モデルのコードを投稿 –

答えて

2

:持っているあなたのRolesモデルで

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

を:次に

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

あなたのコントローラから持っているあなたのClientsモデルで

+1

おかげで、私のようにあなたのコメントを受け入れた不発弾答え 。 – Hamzar

+0

私はあなたを助けることができてうれしいです! – Laerte

0

を助けてくださいあなたのピボットのモデル関係(クライアントなど):

return $this->belongsToMany('App\Role')->withPivot('desc'); 

次に、あなたがこのようなピボットで列を呼び出すことができます。

foreach ($clients as $client) { 
    echo $client->pivot->desc; 
} 

私はそれがあなたの役に立てば幸い...

関連する問題