OctoberCMS Eager Loading with 和 where 条件

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

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

但是,我无法放置这样的 where 条件,它显示“Buyer.age 的未知列”。请告知如何过滤我的结果?


繁华开满天机
浏览 126回答 2
2回答

米琪卡哇伊

试试这个。$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();
打开App,查看更多内容
随时随地看视频慕课网APP