public function getByReservationId($id) { $this->attributes = []; $reservationDetailsWithAttr = ReservationDetails::with('attributesText', 'attributesInteger', 'attributesFloat', 'attributesDatetime')->findOrFail($id); //print_r($reservationDetailsWithAttr);die; $this->populateVendorAttributes($reservationDetailsWithAttr->attributesInteger); $this->populateVendorAttributes($reservationDetailsWithAttr->attributesFloat); $this->populateVendorAttributes($reservationDetailsWithAttr->attributesText); //$this->populateVendorAttributes($reservationDetailsWithAttr->attributesDatetime); //for datetime type because one to one relationship $resrvDateTime = $reservationDetailsWithAttr->attributesDatetime; $this->attributes[$resrvDateTime->attributesAlias->alias] = $resrvDateTime->attribute_value; return ['ReservationDetails' => ReservationDetails::find($id), 'attributes' => $this->attributes]; }
public function today() { $todayBookings = array(); $count = 0; $statusCancelledNew = DB::select(DB::raw('select rd.id as reservation_id,rd.user_id as user_id from reservation_details as rd left join reservation_attributes_date as rad on rd.id = rad.reservation_id where DATE(rad.attribute_value) = \'' . Carbon::now()->format('Y-m-d') . '\'')); $reservationIdArr = array(); foreach ($statusCancelledNew as $reservId) { $reservationIdArr[$reservId->reservation_id] = $reservId->user_id; } $reservStatusArr = $this->reservationDetails->getReservationStatus(array_keys($reservationIdArr), [1, 2, 3, 6, 7, 8]); $todayPaginate = ReservationDetails::with('experience', 'vendor_location.vendor', 'vendor_location.address.city_name', 'attributesDatetime')->where('vendor_location_id', '!=', '0')->where('vendor_location_id', '!=', '54')->whereIn('id', array_keys($reservationIdArr))->where('created_at', '>=', '2015-10-12 15:20:00')->orderBy('created_at', 'desc')->paginate(15); foreach (ReservationDetails::with('experience', 'vendor_location.vendor', 'vendor_location.address.city_name', 'attributesDatetime')->where('vendor_location_id', '!=', '0')->where('vendor_location_id', '!=', '54')->whereIn('id', array_keys($reservationIdArr))->where('created_at', '>=', '2015-10-12 15:20:00')->orderBy('created_at', 'desc')->paginate(15) as $today) { $booking = new \stdClass(); $booking->id = $today->id; /*$reservCarbonDate = Carbon::createFromFormat('Y-m-d H:i:s',$today->attributesDatetime->attribute_value); $booking->bdate = $reservCarbonDate->format('d-m-Y'); $booking->btime = $reservCarbonDate->format('h:i A');*/ if ($today->product_id == 0) { $booking->name = "Classic Reservation"; } else { $booking->name = $today->experience->name; } $booking->cust_name = $today->guest_name; if (isset($today->vendor_location->vendor->name)) { $booking->restaurant_name = $today->vendor_location->vendor->name; } else { $booking->restaurant_name = ""; } if (empty($today->vendor_location->address->city_name)) { $booking->city = ""; } else { $booking->city = $today->vendor_location->address->city_name->name; } //$reservStatus = $today->reservationStatus->first(); //dd($reservStatus); $booking->email = $today->guest_email; $booking->phone_no = $today->guest_phone; $booking->no_of_persons = $today->no_of_persons; //$booking->status = $reservStatus->status; $userModel = User::find($reservationIdArr[$today->id]); $booking->lastmodified = $userModel->role->name; $booking->user_id = $today->user_id; $statusArr = $this->reservStatuses; $statusKey = array_search($reservStatusArr[$today->id], $statusArr); if ($statusKey != -1) { unset($statusArr[$statusKey]); } $booking->reserv_status = $reservStatusArr[$today->id][0]; $booking->statusArr = $statusArr; $reservationDetailsAttr = $this->reservationDetails->getByReservationId($today->id); $booking->special_request = isset($reservationDetailsAttr['attributes']['special_request']) ? $reservationDetailsAttr['attributes']['special_request'] : ""; $booking->gift_card_id = isset($reservationDetailsAttr['attributes']['gift_card_id_reserv']) ? $reservationDetailsAttr['attributes']['gift_card_id_reserv'] : ""; $booking->outlet = isset($reservationDetailsAttr['attributes']['outlet']) ? $reservationDetailsAttr['attributes']['outlet'] : ""; $booking->reserv_type = $reservationDetailsAttr['attributes']['reserv_type']; $reservCarbonDate = Carbon::createFromFormat('Y-m-d H:i:s', $reservationDetailsAttr['attributes']['reserv_datetime']); $booking->bdate = $reservCarbonDate->format('d-m-Y'); $booking->btime = $reservCarbonDate->format('h:i A'); $todayBookings[$count] = $booking; $count++; //print_r($today); } return view('admin.bookings.list.today')->with('todaysbookings', $todayBookings)->with('today_paginate', $todayPaginate); }