我正在滤波与" start_date"属性关联的Symfony2中的实体。这是数据库中的价值,它具有Getstartdate的学说生成的Getter。在过滤器方法中,我使用
的表达式Criteria::expr()->gt('start_date', $now)
,但对于访问受保护的属性而失败了。如果我将标准更改为
Criteria::expr()->gt('startDate', $now)
它再次失败,但是这次遇到了关于对象上没有该属性的错误。哪个是对的?我不需要仅在标准过滤中添加单独的获取。
正确是第一种情况:
Criteria::expr()->gt('start_date', $now)
Getter公开了吗?尝试将此物业公开。在这种情况下仍然显示错误吗?
还尝试添加下一个测试器以进行测试:
public function start_date(){};
public function getStart_date(){};
您必须将代码更正为此:
/**
* @ORMColumn(type="datetime", name="start_date")
*/
protected $startDate;
public function getStartDate() {
return $this->startDate;
}
然后使用:
Criteria::expr()->gt('startDate', $now)
Symfony需要以骆驼风格调用您的前辈,然后骆驼;