I have many-to-many relationship.
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();
And return error:
SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in where >clause is ambiguous (SQL: select * from
girlswheresex= famele and >meet= male andage>= 18 andage<= 40 and exists (select * from >targetinner joingirl_targetontarget.id= >girl_target.target_idwheregirls.id=girl_target.girl_idand >idin (1)))
How to choose correctly using relationships?
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire