2017-06-27 4 views
0

ユーザーが選択した日付に従って予約を追加すると、この日付に前の予約がない場合、私の関数add()によって検証されます。私はFROM(ymd)フィールドとHASTA(Ymd)フィールドを持つ予約テーブルを持っていますが、check_in_range関数($ start_date、$ end_date、$ date_to_valuate)を使用すると思います これは私がやろうとしていることですが、そして今、私はこれが機能check_in_range()関数を使用して日付を比較する必要があります

0のコードで、これは私の関数は私のreservationscontroller.php

public function add() 
{ 
    $reserva = $this->Reservas->newEntity(); 
    $res = 'SELECT desde,hasta FROM reservas'; 
    $arr = $this->Reservas->ExQuery($res); 

    if ($this->request->is('post')) { 
     $reserva = $this->Reservas->patchEntity($reserva, $this->request->getData()); 
     if($arr==null){ 
      // $this->log('keria salvar1', LOG_DEBUG); 
     if ($this->Reservas->save($reserva)) { 
      //$this->log('salvas con arreglo vacio', LOG_DEBUG); 
      $this->Flash->success(__('La habitación ha sido reservada.')); 

      return $this->redirect(['controller' => 'reservas', 'action' => 'index']); 
     }} 
     if($arr!=null){ 
      for ($i = 0; $i < count($arr); $i++) { 
       $start_date = $arr[$i]['desde']; 
       $end_date = $arr[$i]['hasta']; 
       $fecha_a_evaluar = date("Y-m-d"); 

       if ($this->check_in_range($start_date, $end_date, $fecha_a_evaluar)) { 
        // $this->log('error fecha', LOG_DEBUG); 
        $this->Flash->error(__('ya existe reserva en esa fecha')); 

       } 
        if ($this->Reservas->save($reserva)) { 
         // $this->log('salvo', LOG_DEBUG); 
         $this->Flash->success(__('La habitación ha sido reservada.')); 
         return $this->redirect(['controller' => 'reservas', 'action' => 'index']); 
        } 

          }} 
          $this->Flash->error(__('La habitación no ha podido ser reservada')); 
         // $this->log('final1', LOG_DEBUG); 
        } 
     // $this->Flash->error(__('La habitación no ha podido ser reservada')); 
     //$this->log('final2', LOG_DEBUG); 


    $habitaciones = $this->Reservas->Habitaciones->find('list', ['limit' => 200]); 
    $this->set(compact('reserva', 'habitaciones')); 
    $this->set('_serialize', ['reserva']); 
} 

で、私のappcontrolerに()を追加されて迷ってしまいました

私は絶望的だと原因に

答えて

0

を立ち往生:すべての3つの引数($start_date, $end_date, $evaluame)が等しい

ある場合にのみtrueを返す

return (($user_ts >= $start_ts) && ($user_ts <= $end_ts) && ($user_ts === $start_ts)); } 

check_in_range

関連する問題