OctoberCMS Eager Loading with 和 where 条件

OctoberCMS Eager Loading with and where condition

我想用 where 条件过滤我的查询。假设我有一个 Product 模型,它与 Buyer 模型有关系。我想获取从一群 65 岁及以上的买家那里购买的产品型号列表。

$query = Product::with('Buyer')
  ->where('Buyer.age','>=',65)
  ->get();

但是,我不能像这样放置where条件,它显示"Unknown column for Buyer.age"。请告诉我如何过滤我的结果?

试试这个。

$query = Product::with('Buyer')
   ->whereHas('Buyer', function($q){  // whereHas will only return products whose buyer is >= 65
       $q->where('age','>=',65);
   })
  ->get();

请试一试:

$query = Product::whereHas('Buyer', function ($query) {
   $query->where('age', '>=', 65);
})->with(['Buyer' => function($q){
   $q->where('age','>=',65);
}])
  ->get();