Я пытаюсь реализовать 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 говорит:
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
Строка 94 файла DataTimeType.php является частью метода toDatabase (). Он пытается преобразовать объект datetime в строку для использования с базой данных. Конкретно линия 94
return $value->format($this->_format);
Использование Cake версии 3.1.0
Задача ещё не решена.
Других решений пока нет …