-1
我试图创建一个使用标准,推进了如下声明:的Propel标准
AND unix_timestamp(table.last_action) > unix_timestamp(table.last_action) -1800
但我似乎并没有能够得到它的权利
$kriterien->add(sfGuardUserProfilePeer::LAST_ACTION, 'unix_timestamp(table.last_action)-90', Criteria::GREATER_THEN);
sfGuardUserProfilePeer::LAST_ACTION
不是UNIX_TIMESTAMP。我如何改变它以便它?我已经尝试只更改BasesGuardUserProfilePeer.php
中的LAST_ACTION
的值,但它引发了错误。
你为什么要这么做?由于您不必要地应用函数,数据库将无法使用任何索引来解决这部分查询;您不需要使用UNIX时间戳修改日期。 '东西>东西 - INTERVAL 1800 SECOND'。当然,你的查询是没有意义的,因为列不能大于自身... –
什么? :-) 查询完美无缺 东西>东西 - 1800秒是现在和半小时之前的所有东西 – ldrocks
不,每件东西都是1800'。所有的数字都大于他们自己减去其他数字。从现在到半小时前,“CURRENT_TIMESTAMP - 1800”将是每一行。 –