2017-12-08 7 views
0

私は、モデルUser、Test、Attemptsを持っています。複数のモデル間のラーベル関係

ユーザー(多対多)のテストへのアクセス

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

を持って、私はfolowing列を持つテーブルattemptsを持っている:

- user_id 
- test_id 

私は、関連の試みを持つすべてのユーザーテストを入手する必要があります。

熱心な負荷を使用してどのように取得できますか?

ありがとうございました。

+0

これらの試みはrelat withPivot方法を利用することができます

public function Users(){ return $this->belongsToMany('App\User', 'attempts'); } 

ピボットからの熱心な負荷列にどのユーザーやテストで編集しましたか? –

+0

試行はユーザーと関連しています。 $ this-> hasMany( 'App \ Attempt');を返します。 –

答えて

1

あなたのテストのモデルがそうのようなユーザーとのbelongsToMany関係が必要になりますので、関係の反対側がセットアップされていることをまず確認してください:

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

をあなたがのadditonalを渡すことで、ピボットテーブルのテーブル名を指定することができますそのようなbelongsToManyへの引数:あなたは