相关疑难解决方法(0)

Doctrine 2 WHERE IN子句使用实体集合

我正在尝试在Doctrine 2中构建一个查询,该查询查找Vacancy与任何给定VacancyWorkingHours实体相关的所有实体.

Vacancy实体看起来如下:

/**
 * Vacancy
 *
 * @ORM\Table(name="vacancy")
 * @ORM\Entity(repositoryClass="JaikDean\CareersBundle\Entity\VacancyRepository")
 */
class Vacancy
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var VacancyWorkingHours
     *
     * @ORM\ManyToOne(targetEntity="VacancyWorkingHours", inversedBy="vacancies")
     * @ORM\JoinColumn(name="vacancy_working_hours_id", referencedColumnName="id")
     **/
    private $workingHours;

    /* Other fields and methods are inconsequential */
}
Run Code Online (Sandbox Code Playgroud)

我的查询当前看起来如下,但由于where子句没有返回结果.在此示例中,$workingHoursDoctrine\Common\Collections\ArrayCollection包含许多VacancyWorkingHours实体的实例

$q = $this->createQueryBuilder('v')
    ->select('v')
    ->andWhere('v.workingHours IN (:workingHours)')
    ->setParameter('workingHours', $workingHours->toArray());
;
Run Code Online (Sandbox Code Playgroud)

php orm doctrine symfony doctrine-orm

21
推荐指数
2
解决办法
3万
查看次数

标签 统计

doctrine ×1

doctrine-orm ×1

orm ×1

php ×1

symfony ×1