【发布时间】:2016-11-02 10:23:01
【问题描述】:
如何将以下 SQL 查询转换为 Doctrine?
select * from `Leave_types`
where (leave_name = in_leave_name or leave_code=in_leave_code)
and academic_year_id =in_academic_year_id
我尝试以下代码:
$em = $this->doctrine->em;
$qb = $em->createQueryBuilder();
$qb->select('lt');
$qb->from('Entity\LeaveTypes', 'lt');
$qb->innerjoin('lt.academicYear', 'ay');
$qb->where('ay.academicId = :academicId');
$qb->andwhere(
$qb->orWhere('leaveName', '?1'),
$qb->orWhere('leaveCode', '?2')
);
$qb->setParameter('academicId', $add_data['academic_year_id']);
$qb->setParameter(1, $add_data['leave_name']);
$qb->setParameter(2, $add_data['leave_code']);
$result = $qb->getQuery()->getResult();
【问题讨论】:
-
in_leave_name,in_leave_code和in_academic_year_id。它们是什么? -
这些是生产者发送的参数
-
那么你当前的代码有什么问题?
-
我怎样才能在教义中写出真实的情况
标签: php codeigniter doctrine-orm doctrine