public function searchRoom(Request $request) { if ($request->ajax()) { $name = $request->name; $rooms = Room::where('name', 'like', $name . '%')->take(10)->get(); $data = $this->organizeData($rooms, 'room'); return $data; } }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy(Request $request, $eventId) { $room = Room::where('event_id', '=', $eventId)->first(); if (!$room) { return $this->respondNotFound('Room does not exist'); } $room->delete(); return $this->respondDeleteSuccess('Room deleted'); }
public function findReserveRoomsByRangeAndRoomType($start, $end, $roomType) { $dates = Calendar::getInclusiveDates($start, $end, 'Y-m-d'); $rooms = Room::where('room_type_id', $roomType)->get(); $sql = "select rr_id, reserve_code, room_id, status, if(checkin < '{$start}', '{$start}', checkin) as 'calstart', if(checkin < '{$start}', 'extendleft', '') as 'startmodifier', if(checkout > '{$end}', 'extendright', '') as 'endmodifier',(datediff('{$end}', '{$start}') + if(datediff(checkout, '{$end}') < 0, datediff(checkout, '{$end}'), 0) + if(datediff('{$start}', checkin) < 0, datediff('{$start}', checkin), 0)) as 'computedlength' from reserve_rooms where checkin <= '{$end}' and checkout >= '{$start}' and room_id > 0 and room_type_id = {$roomType} order by room_id, checkin"; $rr = DB::select($sql); $calendar = []; foreach ($rooms as $room) { foreach ($dates as $day) { $calendar[$room->door_name][$day] = $this->getRoomsForDate($rr, $room->room_id, $day); } } ksort($calendar); return $calendar; }
protected function saveReserveRooms($rrooms, $reservecode) { foreach ($rrooms as $door => $dates) { $rm = Room::where(['door_name' => $door])->get()->first(); $resKey = ['reserve_code' => $reservecode, 'room_type_id' => $rm->room_type_id, 'room_id' => $rm->room_id]; $reserveRoomModel = ReserveRoom::firstOrNew($resKey); $reserveRoomModel->checkin = $dates[0]; $reserveRoomModel->checkout = $dates[count($dates) - 1]; $reserveRoomModel->save(); } }