Php 如何把方法放在哪里?

Php 如何把方法放在哪里?,php,laravel,eloquent,laravel-8,Php,Laravel,Eloquent,Laravel 8,下面是我雄辩的问题 $cat=Category::with('subcategory.items.products')) ->其中('id',$discates)->first(); 我想在状态为1的产品上放置一个where。 where('status',1) 你应该花些时间阅读Laravel文档。它们充满了例子,是一个非常好的基础知识学习资源 $cat=Category::with(['subcategory.items.products'=>函数($query){ $query->w

下面是我雄辩的问题

$cat=Category::with('subcategory.items.products'))
->其中('id',$discates)->first();
我想在状态为1的产品上放置一个where。

where('status',1)

你应该花些时间阅读Laravel文档。它们充满了例子,是一个非常好的基础知识学习资源

$cat=Category::with(['subcategory.items.products'=>函数($query){
$query->where('status',1);
}])->其中('id',$discates)->first();
试试这个

$query = Category::query();

$query->whereHas('products', function ($q) {
    $q->where('status', 1);
});


$cat = $query->with('subcategory.items.products')->find($discates); 

$cat = $query->with('subcategory.items.products')>where('id',$discates)->first();