Edit File: StoreResource.php
<?php namespace App\Http\Resources; use App\Http\Resources\ProductsResource; use App\Http\Resources\StoreMenuCategoriesResource; use App\Models\Category; use App\Traits\ApiTrait; use App\Traits\GeneralTrait; use Illuminate\Http\Request; use Illuminate\Http\Resources\Json\JsonResource; class StoreResource extends JsonResource { use GeneralTrait, ApiTrait; /** * Transform the resource into an array. * * @param \Illuminate\Http\Request $request * @return array */ public function toArray($request) { // $page = $request['page'] ?? 1; // $products=[]; // $pagination=''; $lang = $request->header('lang') ?? 'ar'; $menu_categories = $this->menuCategories; // if(count($menu_categories)>0){ // if ($request['menu_category']) { // $menu_category = $this->menuCategories()->where('id', $request['menu_category'])->first(); // if(!$menu_category){ // $menu_category = $this->menuCategories()->first(); // } // } else { // $menu_category = $this->menuCategories()->first(); // } // $products =ProductsResource::collection($menu_category->products()->where('available', 'true')->paginate($this->paginateNum())) ; // } $category = Category::where('slug', $this->category)->first(); return [ 'id' => $this->id, 'category_name' => $category ? $category->name : '', 'is_open' => $this->openingHours($lang)['open_status'], 'delivery_price' => $this->deliveryPrice($this->distance)['display_delivery_price'] . ' ' . trans('stores.sar'), 'name' => $this->name ?? '', 'icon' => $this->icon ? $this->iconPath : '', 'cover' => $this->cover ? $this->coverPath : '', 'lat' => $this->lat ?? '', 'long' => $this->long ?? '', 'address' => $this->address ?? '', 'num_rating' => $this->num_rating ?? 0, 'rate' => $this->rate ? number_format($this->rate,1): '0.0', 'category' => $this->category ?? '', 'offer' => $this->offer == 'true' ? true : false, 'offer_image' => $this->offer_image ? $this->offerPath : '', 'offer_amount' => (string) $this->offer_amount ?? '0', 'offer_type' => (string) $this->offer_type ?? '', 'offer_max' => (string) $this->offer_max ?? '', 'available' => (string) $this->available == 'true' ? true : false, 'has_contract' => ((string) $this->has_contract == 'true' ||(string) $this->has_contract == '1' ) ? true : false, 'distance' => (number_format((float) $this->distance, 2, '.', '') ?? '0.00') . ' ' . trans('stores.km'), 'opening_hours' => $this->openingHours($lang)['opening_hours_arr'], 'memu' => StoreMenuCategoriesResource::collection($menu_categories), // 'products' => $products, // 'pagination' => $pagination, ]; } }
Back to File Manager