gpt4 book ai didi

symfony - Doctrine2 标准过滤找不到属性

转载 作者:行者123 更新时间:2023-12-02 03:39:11 25 4
gpt4 key购买 nike

我在 Symfony2 中过滤一个与“start_date”属性有关联的实体。这是数据库中的值,它有一个由 Doctrine 生成的 getStartDate getter 。在 filter 方法中,我使用了一个表达式

Criteria::expr()->gt('start_date', $now)

但由于访问 protected 属性的错误而失败。如果我将标准更改为
Criteria::expr()->gt('startDate', $now)

它再次失败,但这次错误是关于对象上没有该属性。哪个是对的?我不需要为标准过滤添加单独的获取。

最佳答案

正确的是第一种情况:

Criteria::expr()->gt('start_date', $now)

getter 是公开的吗?尝试公开此属性。在这种情况下是否仍然显示错误?

还尝试添加下一个 getter 进行测试:
public function start_date(){};

public function getStart_date(){};

您必须将您的代码更正为这个 :
/** 
* @ORM\Column(type="datetime", name="start_date")
*/

protected $startDate;

public function getStartDate() {

return $this->startDate;
}

然后使用:
Criteria::expr()->gt('startDate', $now)

Symfony 需要以camelCase 样式调用您的属性,然后camelCase getter 将起作用

关于symfony - Doctrine2 标准过滤找不到属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21261514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com