Получить данные интервала из базы данных разницы между двумя датами - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть таблица с именем TestingLogDevice. Имя столбца таблицы dateee. Таблица dateee Значение поля выглядит следующим образом.

id   dateee
 1   01-11-18
 2   01-11-18
 3   01-11-18
 4   01-11-18
 5   31-11-18
 6   31-11-18
 7   31-11-18
 8   31-11-18
 9   31-11-18
 10  30-11-18
 11  30-11-18
 12  29-11-18
 13  28-11-18
 14  28-11-18
 15  27-10-18

У меня форма выглядит следующим образом. Когда я отправляю это значение формы. Тогда я получаю это значение выглядит следующим образом

![Form Image

Array
(
    [precise_chart_val] => Array
        (
            [id] => 
            [start_date] => 30-10-18
            [end_date] => 01-11-18
        )

)

Я получаю разницу двух значений в таблице TestingLogDevice, используя этот код. Я перехожу по этой ссылке Ссылка на учебник

$start_date  =  $data['precise_chart_val']['start_date'];
$end_date    =  $data['precise_chart_val']['end_date'];

$conditions  = array('TestingLogDevice.dateee BETWEEN ? and ?' => array($start_date, $end_date));


$this->set('datas',
    $this->TestingLogDevice->find('all', 
         array(
             'conditions' =>array($conditions, 'TestingLogDevice.Siteid'=>$testing_log_device_site_name),
             'order'      => array('id' => 'desc')
         )
    )
);

Но когда я печатаю datas, я получаю все значения поля dateee от id 1 до 15 . Но я получаю только данные с 1 по 11. Где я ошибаюсь? Я не исправляю это.

1 Ответ

0 голосов
/ 02 ноября 2018

мое поле dateee - vachar.

Вы получаете этот результат из-за вашего типа данных поля dateee. Чтобы решить эту проблему, либо измените тип данных с varchar на datetime

OR

Изменить

$conditions  = array('TestingLogDevice.dateee BETWEEN ? and ?' => array($start_date, $end_date));

К

 $conditions  = array("date_format(str_to_date(TestingLogDevice.dateee, '%d-%m-%Y'), '%d-%m-%Y') BETWEEN ? and ?" => array($start_date, $end_date));

MySQL конвертировать varchar в дату

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...