我有以下查询:
$objects = Object::with("prototypes");
如您所见,我确实请求对
Object
建模并将其与 prototypes
结合。prototypes
表具有以下结构:prototype_id
name
如何在上面的查询中制作
where
如下:$objects = Object::with("prototypes")->where("prototype_id", 3);
对象模型:
public function prototypes()
{
return $this->belongsToMany('App\Prototype', 'object_prototype', 'object_id');
}
原型(prototype)模型:
public function objects(){
return $this->belongsToMany("App\Object", "object_prototype", "prototype_id", "object_id");
}
最佳答案
如果在您的 Eloquent 模型中正确设置了关系,您可以使用 WhereHas
函数来查询关系是否存在。
$objects = Object::with('prototypes')
->whereHas('prototypes', function ($query) {
$query->where('prototype_id', 3);
})
->get();
关于laravel - 如何通过第二个表 Laravel 使用 where?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43777873/