我有一个包含对象的doctrine数组,该对象包含属性,我试图访问每个属性,但是某些东西不能正常工作。
以下是print_r()
的{{1}}:
$users
以下是代码:
Array (
[0] => Entities\Months Object (
[id:Entities\Months:private] => 12
[month:Entities\Months:private] => December
[units:Entities\Months:private] => 1
)
)
这可能会导致错误,因为字符会搞乱属性名称。我也尝试过这个:
$q = $this->doctrine->em->createQuery("select m from Entities\Months m where m.month = 'December'");
$users = $q->getResult();
print_r($users);
foreach($users as $key => $value){
echo $value->id:Entities\Months:private;
}
但是说:
echo $value->{'id:Entities\Months:private'};
因此,如果有人知道如何阅读这些对象来操纵它们,我们将不胜感激。
答案 0 :(得分:1)
通常使用Doctrine,实体的所有属性都是私有的或受保护的。您可以使用getter $value->getId();
所以你的代码应该是
$q = $this->doctrine->em->createQuery("select m from Entities\Months m where m.month = 'December'");
$users = $q->getResult();
print_r($users);
foreach($users as $key => $value){
echo $value->getId();
}