我有以下查询:

$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/

10-12 07:03