Edit File: StoresResource.php
<?php namespace App\Http\Resources; use Illuminate\Http\Resources\Json\JsonResource; use App\Models\Category; use App\Services\OrderService; use URL; class StoresResource extends JsonResource { /** * Transform the resource into an array. * * @param \Illuminate\Http\Request $request * @return array */ public function toArray($request) { $distance = isset($this->distance) ? $this->distance : '0.0'; if(! empty($distance)) { $order_service = (new OrderService()); if($request->lat && $request->long) { $distance = $order_service->getdirectDistance((isset($this->id) ? $this->lat : (string)$this->geometry->location->lat), (isset($this->id) ? $this->long : (string)$this->geometry->location->lng), $request->lat, $request->long); }else{ $distance=$request['distance'] ?? '0.0'; } } if(isset($this->category)) $category = Category::where('slug',$this->category)->first(); return [ 'id' => $this->id ?? 0, 'place_id' => $this->place_id ?? '', 'is_open' => isset($this->id) ? $this->openingHours()['open_status'] : true, 'name' => $this->name??'', // 'category' => $this->category ?? $this->business_status, 'icon' => isset($this->id) ? $this->iconPath : asset('assets/uploads/settings/google_store.png'), 'address' => ($this->address?? $this->vicinity) ?? '', 'lat' => (isset($this->id) ? $this->lat : (string)$this->geometry->location->lat) ?? '', 'long' => ( isset($this->id) ? $this->long : (string)$this->geometry->location->lng) ?? '', 'rate' => number_format($this->rate ?? '0',1) ?? '0.0', 'category_name' => isset($category)?$category->name:'', 'available' => isset($this->id) ? ((string)$this->available=='true'?true:false) : true, 'distance' => isset($distance) ? (number_format((float)$distance, 2, '.', '')??'0.00').' '.trans('stores.km') : '0.0' .' '.trans('stores.km') , 'created_at' => isset($this->id) ? $this->created_at->isoFormat('YYYY - MMMM - D') : date('YYYY - MMMM - D'), ]; } }
Back to File Manager