I'm attempting to build a query in Doctrine 2 that finds all Vacancy
entities which are related to any of the given VacancyWorkingHours
entities.
The Vacancy
entity looks as follows:
/**
* Vacancy
*
* @ORMTable(name="vacancy")
* @ORMEntity(repositoryClass="JaikDeanCareersBundleEntityVacancyRepository")
*/
class Vacancy
{
/**
* @var integer
*
* @ORMColumn(name="id", type="integer")
* @ORMId
* @ORMGeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var VacancyWorkingHours
*
* @ORMManyToOne(targetEntity="VacancyWorkingHours", inversedBy="vacancies")
* @ORMJoinColumn(name="vacancy_working_hours_id", referencedColumnName="id")
**/
private $workingHours;
/* Other fields and methods are inconsequential */
}
My query currently looks as follows, but returns no results because of the where clause. In this example, $workingHours
is a DoctrineCommonCollectionsArrayCollection
instance containing a number of VacancyWorkingHours
entities
$q = $this->createQueryBuilder('v')
->select('v')
->andWhere('v.workingHours IN (:workingHours)')
->setParameter('workingHours', $workingHours->toArray());
;
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…