2014-07-06 27 views
0

我試圖選擇與其子如下一條記錄:Symfony2中和學說和兒童在where子句

$job = $em->getRepository('RaxcidoBaseBundle:Job')->findOneById($id); 

它將返回我有錄像,所有的孩子們的數組。 現在我想選擇這個工作,如果有一個名爲'test'的孩子,解決方案是什麼? 我更喜歡使用docrine功能,無法查詢

這些都是我的實體

<?php 
... 
class Job 
{ 
... 
/** 
    * @ORM\OneToMany(targetEntity="JobPrerequisite", mappedBy="job") 
*/ 
protected $prerequisites; 

<?php 
... 
class JobPrerequisite 
{ 
... 
/** 
* @ORM\ManyToOne(targetEntity="Job", inversedBy="prerequisites") 
* @orm\JoinColumn(name="job_id", referencedColumnName="id") 
*/ 
protected $job; 

/** 
* @orm\Column(type="string") 
*/ 
protected $name; 

感謝

回答

1

您可以在這兩個行做到這一點:

首先找到$ jobPrerequisite,與name ='test'相關

$jobPrerequisite = $em->getRepository('RaxcidoBaseBundle:JobPrerequisite')->findOneBy(array('name' => 'test')); 

,然後你的$工作相關的上述$ jobPrerequisite

$job = $em->getRepository('RaxcidoBaseBundle:Job')->findOneBy(array('prerequisites' => $jobPrerequisite));