Edit File: StoreMenuCategoriesResource.php
<?php namespace App\Http\Resources; use Illuminate\Http\Resources\Json\JsonResource; use App\Http\Resources\ProductsResource; class StoreMenuCategoriesResource extends JsonResource { /** * Transform the resource into an array. * * @param \Illuminate\Http\Request $request * @return array */ public function toArray($request) { $products = $this->products()->where('available', 'true') ->whereHas('groups' , function ($query) { $query->where('properities', '!=' , null); }) ->when($request['search'], function($q) use($request) { $q->where('name->ar', 'like', '%' . $request['search'] . '%'); $q->orWhere('name->en', 'like', '%' . $request['search'] . '%'); }) ->when($request['product_price'], function($q) use($request) { $q->leftJoin('product_groups' , 'product_groups.product_id' , '=' ,'products.id'); if ($request['product_price'] == 'high'){ $q->orderByDesc('product_groups.price'); }else{ $q->orderBy('product_groups.price' , 'asc'); } $q->groupBy('product_groups.product_id')->select('products.*'); }) ->get(); return [ 'id' => $this->id, 'name' => $this->name, 'image' => $this->image_path, 'products' => ProductsResource::collection($products), ]; } }
Back to File Manager