0

我想查找两个日期之间的记录,所以我编写了以下代码:

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

date_registered是一datetime列,所以我尝试了这两种格式

即日期('Ymd')和日期('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"

如何摆脱这个问题/问题?

4

1 回答 1

1

我已经更改了我的代码并在AND条件内使用了OR条件,

$this->paginate['conditions']['OR'][] = [
                        'Clients.' . $filter['field'] . ' >=' => $dateRegFrom,
                        'Clients.' . $filter['field'] . ' <=' => $dateRegTo,
                    ];
于 2018-11-21T05:55:05.077 回答