2016-11-02 8 views
0

次のSQLクエリをDoctrineに変換するにはどうすればよいですか?次の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(); 
+0

'in_leave_name'、' in_leave_code'と 'in_academic_year_id'を使用して問題を解決し、誰も、 ありがとうございました。彼らは何ですか? –

+0

これはプロデューサで送信するパラメータです –

+0

あなたの現在のコードの問題は何ですか? –

答えて

0

は私が

$qb->where('ay.academicId = :academicId'); 
$qb->andWhere('lt.leaveName = :leaveName OR lt.leaveCode = :leaveCode'); 
関連する問題