私は、次の多対多の関係持っている:今、私はいくつかのタグ値に基づいて参加者をフィルタリングするLaravel 5 - 多対多関連のモデルによる照会項目
attendees - attendee_tag - tag
を、私はうまく機能し、この溶液を作成しました:
$attendees = Attendee::whereHas('tags', function ($q) {
$q->where([
['attendee_tag.tag_id', '=', '6'],
['attendee_tag.value_string', '=', 'Summer ticket']
})->with(['tags' => function($q) {
$q->select('tags.id', 'value_type', 'attendee_tag.value_string', 'attendee_tag.value_int');
}])->paginate($pagination);
をしかし、私は1個の以上のタグをもとに参加者をフィルタリングする方法を、把握することはできません...「私はこれを試してみたが、それはdoesnの仕事:
$attendees = Attendee::whereHas('tags', function ($q) {
$q->where([
['attendee_tag.tag_id', '=', '6'],
['attendee_tag.value_string', '=', 'Summer ticket']
])->where([
['attendee_tag.tag_id', '=', '13'],
['attendee_tag.value_string', '=', 5]
]);
})->with(['tags' => function($q) {
$q->select('tags.id', 'value_type', 'attendee_tag.value_string', 'attendee_tag.value_int');
}])->paginate($pagination);
ご協力いただければ幸いです。 :)
をあなたは 'whereIn'機能 https://laravel.com/docs/5.4/queries#where-clauses – Wreigh
フムを使用することができますが、どうやって?私に例を教えてもらえますか? – user3216673