Получение ошибки «Вызов функции-члена format () для массива» при запросе поиска записей между двумя датами в CakePHP 3 - PullRequest
0 голосов
/ 20 ноября 2018

Я хочу найти записи между двумя датами, поэтому я написал этот код:

$this->paginate['conditions']['OR']['Clients.date_registered BETWEEN ? and ?'] = [$dateRegFrom, $dateRegTo];

date_registered - это столбец datetime, поэтому я попробовал оба формата

, т.е.date ('Ym-d') & date ('Ymd H: i: s')

Так выглядит условие:

[OR] => Array
        (
            [Clients.date_registered BETWEEN ? and ?] => Array
                (
                    [0] => 2017-11-01 00:00:00    //2017-11-01 in Y-m-d format
                    [1] => 2018-11-20 22:28:55    //2018-11-20 in Y-m-d format
                )

        )

Но я получаю ошибку (подробнее)

file :     "/vendor/cakephp/cakephp/src/Database/Type/DateTimeType.php"
line : 122
message : "Call to a member function format() on array"

Как избавиться от этой проблемы / вопроса?

1 Ответ

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

Я изменил свой код и использовал условие AND в условии OR,

$this->paginate['conditions']['OR'][] = [
                        'Clients.' . $filter['field'] . ' >=' => $dateRegFrom,
                        'Clients.' . $filter['field'] . ' <=' => $dateRegTo,
                    ];
...