1

我正在尝试FriendsOfCake\Search在 CakePHP 中实现插件。我不能 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() 方法的一部分。它正在尝试将日期时间对象转换为与数据库一起使用的字符串。特别是第 94 行

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

使用 Cake 3.1.0 版

4

0 回答 0