我正在寻找一种方法,使我的 ProductResource 收藏只包括具有有效价格的产品。
在我的routes/api.php
中,我使用了一个 * 集合 *,如下所示:
Route::get('/product', function (Request $request) {
return new ProductCollection(
Product::all()
);
});
在模型App\Models\Product
中,价格存在关系
public function prices () {
return $this->hasMany(ProductsPrice::class);
}
在App\Models\ProductsPrice
中有一个scopeIsActive,我想在创建集合之前调用它。
public function scopeIsActive($query)
{
return $query->where('is_active', true);
}
有没有一种方法可以调用这个 isActive 作用域,而不创建 Controller,只是查询具有活动价格的产品,并将其放在routes/api.php
的 ResourceCollection 中,就像这样?
Route::get('/product', function (Request $request) {
return new ProductCollection(
Product::all()->prices()->isActive()
);
});
1条答案
按热度按时间00jrzges1#
你可以这样做。