实现FriendsOfCake \ Search以使用CakePHP查询日期范围时出现致命错误

时间:2015-10-23 15:39:47

标签: php cakephp cakephp-3.1

我试图在CakePHP中实现FriendsOfCake\Search插件。我并非100%确定我已正确实施了搜索类型,但当我提交表单尝试使用日期搜索时,我收到以下致命错误:

  

错误:在非对象上调用成员函数format()

我假设在某个地方我的日期没有被格式化为日期对象,但不知道我在哪里需要这样做,如果有的话。以下是我正在使用的代码段。

UsersTable.php - 我的searchConfiguration()方法

内部
    ->compare('created_start', [
        'field' => $this->aliasField('created')
    ])

index.ctp - 生成表单

<?= $this->Form->label('created_start') ?>
<?= $this->Form->date('created_start') ?>

我认为这就是全部,我有文本框和选择框作为表单的一部分,它只是我无法启动和运行的日期。

以下是错误消息的堆栈跟踪(我相信这是要求的内容,它是我页面的左侧列。

Cake\Error\BaseErrorHandler->handleFatalError

Core/src/Error/BaseErrorHandler.php, line 90

Cake\Error\BaseErrorHandler->Cake\Error\{closure}

[internal function]

完整的错误块说:

Error: Call to a member function format() on a non-object
File /var/www/<project_name>/vendor/cakephp/cakephp/src/Database/Type/DateTimeType.php
Line: 94

DataTimeType.php的第94行是toDatabase()方法的一部分。它试图将datetime对象转换为与数据库一起使用的字符串。特别是第94行

return $value->format($this->_format);

使用Cake 3.1.0版

0 个答案:

没有答案