У меня отношения многие-ко-многим.
class Girl extends Model
{
public function target()
{
return $this->belongsToMany('App\Target','girl_target');
}
}
class Target extends Model{
public function girl()
{
return $this->belongsToMany('App\Girl', 'girl_target');
}
}
$girls = Girl::query();
$girls
->where('sex', $with_met)
->where('meet', $who_met)
->where('age', '>=', $request->min_age)
->where('age', '<=', $request->max_age);
if ($request->get('targets')) {
//$book->whereHas('categories', function($query) use($request) {
$girls->whereHas('target', function ($query) use ($request) {
$query->whereIn('id', $request->get('targets'));
});
}
$girls=$girls->get();
И ошибка возврата:
SQLSTATE [23000]: Нарушение ограничения целостности: 1052 Столбец 'id' в выражении where> неоднозначен (SQL: выберите * из girls
, где sex
= famele и> meet
= male и age
> = 18 и age
<= 40 и существует (выберите * из> target
внутреннего соединения girl_target
на target
. id
=> girl_target
. target_id
где girls
. id
= girl_target
. girl_id
и> id
in (1)))
Как правильно выбрать использование отношений?