我想從ArrayCollection中獲取1個元素。我正在使用Symfony 2.7。從ArrayCollection獲取元素
,比如我有實體活動的集合:
$activities = $em->getRepository('AppBundle:Activity')->findAll();
接下來,我想送1周的活動了這個ArrayCollection的的基礎上,多到一的關係。
實體 '活動':
/**
* @ORM\Entity(repositoryClass="AppBundle\Repository\ActivityRepository")
* @ORM\Table(name="activity")
*/
class Activity {
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="ObjectElementTask", inversedBy="activities", cascade={"persist"})
* @ORM\JoinColumn(name="objectelementtask_id", referencedColumnName="id", onDelete="CASCADE")
*/
private $objectelementtask;
什麼我嘗試:
$objectElementTask = $em->getRepository('AppBundle:ObjectElementTask')->findOneBy(["active" => 1, "object" => (int)$objectId]);
$activity = $activities->findBy(['objectelementtask' => $objectElementTask]);
我得到以下異常: 「調用一個成員函數的陣列findBy()」
我想阻止查詢數據庫的foreach。
我也試過:
$activity = array_search($objectElementTask, array_column($activities, 'objectelementtask'));
但這並沒有結果......
提前感謝!