public function actionMultipleGrid()
 {
     /**
      * Reservations
      */
     $reservationsQuery = Reservation::find();
     $reservationsSearchModel = new ReservationSearch();
     if (isset($_GET['ReservationSearch'])) {
         $reservationsSearchModel->load(Yii::$app->request->get());
         $reservationsQuery->joinWith(['customer']);
         $reservationsQuery->andFilterWhere(['LIKE', 'customer.name', $reservationsSearchModel->getAttribute('customer.name')]);
         $reservationsQuery->andFilterWhere(['LIKE', 'customer.surname', $reservationsSearchModel->getAttribute('customer.surname')]);
         $reservationsQuery->andFilterWhere(['id' => $reservationsSearchModel->id, 'customer_id' => $reservationsSearchModel->customer_id, 'room_id' => $reservationsSearchModel->room_id, 'price_per_day' => $reservationsSearchModel->price_per_day]);
     }
     $resultQueryAveragePricePerDay = $reservationsQuery->average('price_per_day');
     $dataProvider = new ActiveDataProvider(['query' => $reservationsQuery, 'sort' => ['sortParam' => 'reservations-sort-param'], 'pagination' => ['pageSize' => 10, 'pageParam' => 'reseravations-page-param']]);
     $reservationsDataProvider = new ActiveDataProvider(['query' => $reservationsQuery, 'sort' => ['sortParam' => 'reservations-sort-param'], 'pagination' => ['pageSize' => 10, 'pageParam' => 'reservations-page-param']]);
     /**
      * Rooms
      */
     $roomsQuery = Room::find();
     $roomsSearchModel = new Room();
     if (isset($_GET['Room'])) {
         $roomsSearchModel->load(Yii::$app->request->get());
         $roomsQuery->andFilterWhere(['id' => $roomsSearchModel->id, 'floor' => $roomsSearchModel->floor, 'room_number' => $roomsSearchModel->room_number, 'has_conditioner' => $roomsSearchModel->has_conditioner, 'has_phone' => $roomsSearchModel->has_phone, 'has_tv' => $roomsSearchModel->has_tv, 'available_from' => $roomsSearchModel->available_from]);
     }
     $roomsDataProvider = new ActiveDataProvider(['query' => $roomsQuery, 'sort' => ['sortParam' => 'rooms-sort-param'], 'pagination' => ['pageSize' => 10, 'pageParam' => 'rooms-page-param']]);
     return $this->render('multipleGrid', ['reservationsDataProvider' => $reservationsDataProvider, 'reservationsSearchModel' => $reservationsSearchModel, 'roomsDataProvider' => $roomsDataProvider, 'roomsSearchModel' => $roomsSearchModel, 'resultQueryAveragePricePerDay' => $resultQueryAveragePricePerDay]);
 }
Exemplo n.º 2
0
 public function actionGrid()
 {
     $queryReservation = Reservation::find();
     $queryRoom = Room::find();
     $searchReservation = new ReservationSearch();
     $searchRoom = new Room();
     if (isset($_GET['ReservationSearch'])) {
         $searchReservation->load(Yii::$app->request->get());
         $queryReservation->joinWith(['customer']);
         $queryReservation->andFilterWhere(['LIKE', 'customer.surname', $searchReservation->getAttribute('customer.surname')]);
         $queryReservation->andFilterWhere(['id' => $searchReservation->id, 'room_id' => $searchReservation->room_id, 'customer_id' => $searchReservation->customer_id, 'price_per_day' => $searchReservation->price_per_day]);
     }
     $avg = $queryReservation->average('price_per_day');
     if (isset($_GET['Room'])) {
         $searchRoom->load(Yii::$app->request->get());
         $queryRoom->andFilterWhere(['id' => $searchRoom->id, 'floor' => $searchRoom->floor, 'room_number' => $searchRoom->room_number, 'has_conditioner' => $searchRoom->has_conditioner, 'has_tv' => $searchRoom->has_tv, 'has_phone' => $searchRoom->has_phone, 'available_from' => $searchRoom->available_from, 'price_per_day' => $searchRoom->price_per_day, 'description' => $searchRoom->description]);
     }
     $dataReservation = new ActiveDataProvider(['query' => $queryReservation, 'sort' => ['sortParam' => 'reservations_sort_param'], 'pagination' => ['pageSize' => 3, 'pageParam' => 'reservations_page_param']]);
     $dataRoom = new ActiveDataProvider(['query' => $queryRoom, 'sort' => ['sortParam' => 'rooms_sort_param'], 'pagination' => ['pageSize' => 3, 'pageParam' => 'rooms_sort_param']]);
     return $this->render('grid', ['dataReservation' => $dataReservation, 'dataRoom' => $dataRoom, 'searchReservation' => $searchReservation, 'searchRoom' => $searchRoom, 'averagePrice' => $avg]);
 }
 public function actionMultiGrid()
 {
     $query = Reservation::find();
     $searchModel = new ReservationSearch();
     if (isset($_GET['ReservationSearch'])) {
         $searchModel->load(\Yii::$app->request->get());
         $query->joinWith(['customer']);
         $query->andFilterWhere(['LIKE', 'customer.surname', $searchModel->getAttribute('customer.surname')]);
         $query->andFilterWhere(['id' => $searchModel->id, 'customer_id' => $searchModel->customer_id, 'room_id' => $searchModel->room_id, 'price_per_day' => $searchModel->price_per_day]);
     }
     $allAvgPc = $query->average('price_per_day');
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 2]]);
     $Roomquery = \app\models\Room::find();
     $RoomsearchModel = new \app\models\Room();
     if (isset($_GET['Room'])) {
         $RoomsearchModel->load(\Yii::$app->request->get());
         $Roomquery->andFilterWhere(['id' => $RoomsearchModel->id, 'floor' => $RoomsearchModel->floor, 'room_number' => $RoomsearchModel->room_number, 'has_conditioner' => $RoomsearchModel->has_conditioner, 'has_phone' => $RoomsearchModel->has_conditioner, 'has_tv' => $RoomsearchModel->has_conditioner, 'available_from' => $RoomsearchModel->has_conditioner]);
     }
     $RoomdataProvider = new ActiveDataProvider(['query' => $Roomquery, 'sort' => ['sortParam' => 'rooms-sort'], 'pagination' => ['pageSize' => 2, 'pageParam' => 'rooms-page']]);
     return $this->render("multiGrid", ['reservationsDataProvider' => $dataProvider, 'reservationsSearchModel' => $searchModel, 'roomsDataProvider' => $RoomdataProvider, 'roomsSearchModel' => $RoomsearchModel]);
 }
 /**
  * Lists all Reservation models.
  * @return mixed
  */
 public function actionIndex()
 {
     $searchModel = new ReservationSearch();
     $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
     return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider]);
 }