Symfony:从对象原则中获取关键值

时间:2017-06-07 09:27:37

标签: php symfony doctrine-orm doctrine

我有这个带有教义的对象数组, 我如何确定其中一个值?

这对我来说似乎不起作用:todolist [0] - > todo_body

todolist
(
    [0] => AppBundle\Entity\Todo Object
    (
        [todo_id:AppBundle\Entity\Todo:private] => 1
        [todo_body:AppBundle\Entity\Todo:private] => Install Symfony
    )

    [1] => AppBundle\Entity\Todo Object
    (
        [todo_id:AppBundle\Entity\Todo:private] => 2
        [todo_body:AppBundle\Entity\Todo:private] => Learn Symfony
    )

    [2] => AppBundle\Entity\Todo Object
    (
        [todo_id:AppBundle\Entity\Todo:private] => 3
        [todo_body:AppBundle\Entity\Todo:private] => Create Controller
    )

    [3] => AppBundle\Entity\Todo Object
    (
        [todo_id:AppBundle\Entity\Todo:private] => 4
        [todo_body:AppBundle\Entity\Todo:private] => Create first page
    )

)

2 个答案:

答案 0 :(得分:1)

试试这个,但首先请务必在您的实体中使用getter getTodoBody

todolist[0]->getTodoBody()

如果你没有TodoEntity中的getter,请添加:

public function getTodoBody() {
    return $this->todo_body;
}

如果您需要在html模板中使用todo_body,请尝试以下方法:

{{ todo.TodoId }} 

{{ todolist[0].todo_body }}

答案 1 :(得分:1)

AppBundle\Entity\Todo属性,例如&#t; todo_body'显然是私密的(如您提供的转储中所述),因此您无法使用$todo->todo_body直接从外部访问它们。

您需要一个getter方法来访问这些属性。

如果您的$todolist[0]->getTodoBody()课程中已经有吸气剂,您可以尝试AppBundle\Entity\Todo之类的内容。

如果没有,您需要先创建它。它看起来像是:

public function getTodoBody() {
    return $this->todo_body;
}

todo_id

类似