以数组格式访问多对多关系,symfony2

时间:2014-10-10 14:19:15

标签: php symfony doctrine-orm dql

在symfony中,我们可以使用返回ArrayCollection类型对象的getter函数访问多对多关系。 例如,为了获得Alex的学生,我们可以拨打$alex->getStudens(),然后我可以访问ale的studens对象。

现在我的问题是我如何在数组中访问alex的学生id,例如通过调用$alex->getStudentsIds()它返回{1,5,7,12,..},这是他的学生的ID。

1 个答案:

答案 0 :(得分:0)

正是你如何编写它,你在实体中添加另一个函数

public function getStudentsIds()
{
   $students = $this->students;
   $studentIds = [];

   foreach($students as $student)
   {
     $studentIds[] = $student->getId();
   }  

   return $studentIds;
}

理想的解决方案是将这样的方法添加到存储库并让它只查询给定对象的学生ID,但这是最简单的解决方案。