在 CakePHP 3 中查询查找两个日期之间的记录时出错"Call to a member function format() on array"



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

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

date_registereddatetime列,所以我尝试了这两种格式

即日期('Y-m-d'(&日期('Y-m-dH: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"

如何解决这个问题?

我更改了代码,在OR条件中使用了AND条件,

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

相关内容

最新更新