cakephp 蛋糕PHP 3.6:类Cake\I18n\FrozenTime的对象无法转换为整型

bttbmeg0  于 2022-11-11  发布在  PHP
关注(0)|答案(1)|浏览(122)

我尝试检查index.ctp中的日期是否晚于一周前:

(((!isset($task->date_end) || is_null($task->date_end))? 
        strotime('now') : $task->date_end) > strtotime('-1 week'))

但我收到此错误:
类Cake\I18n\FrozenTime的对象无法转换为整型
为了检查数据库中的日期是否有任何错误,我将它们全部更改为:2019-01-02 05:06:00.000000

ne5o7dgx

ne5o7dgx1#

当你比较一个非整数和一个整数时,PHP的类型杂耍会试图把前者转换成整数,而FrozenTime对象不能转换成整数。
您可以通过始终使用日期对象来避免这种脆弱的构造,例如,使用它们提供的比较方法。

$result = true;
if ($task->date_end !== null) {
    $lastWeek = \Cake\I18n\Time::now()->subWeek(1);
    $result = $task->date_end->gt($lastWeek);
}

另请参阅




相关问题