DISTINCTを使用して関係を表示する必要があります。laravel Distinctを使用したEloquent relationship
これは私のSQLデータです:
テーブルは
id |
49 |
テーブルjournees
id | formateurs_id | pochettes_id
1 | 3 | 49
2 | 4 | 49
3 | 3 | 49
テーブルformateurs
をポシェットid |
3 |
4 |
モデルポシェット
public function Journees()
{
return $this->hasMany('App\Journee','pochettes_id');
}
モデルJournee
public function Formateurs()
{
return $this->belongsTo('App\Formateur', 'formateurs_id');
}
Formateurが多くJourneeを持つことができますので、私は明確なformateursでデータを表示するには、このコードを使用しています同じポシェット:
$pochette = Pochette::find(49);
foreach ($pochette->Journees->distinct('formateurs_id') as $formateur) {
echo $formateur->formateurs_id;
echo "<br>";
}
しかし、このコードは仕事をdosn't、私はこのエラーメッセージ
**BadMethodCallException in Macroable.php line 81:
Method distinct does not exist.**
を持って、私はこの結果を示します:
3
4
ない:
3
4
3
しかし、私は2つのIDを示したい:次にあなたが 'GROUPBY()'を探していると ''個別の()されていない3および4 –
@Ayedmedamineを。私は答えを更新しました。 –
クエリビルダーにアクセスするためのAdd()は、私が知らなかったことでした。ドキュメント内にそのファイルがあるとは思わない? – ibex