我有很多对很多的关系。
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”(SQL:从
girls
中选择*,其中sex
= famele和>meet
=男性且age
> = 18和age
<= 40并存在(从target
上的>girl_target
内部联接target
中选择*。id
=>girl_target
。target_id
,其中girls
。id
=girl_target
。girl_id
和(1)中的>id
))
如何使用关系正确选择?