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 ブロックは次のように述べています。

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