Doctrine ile iç içe geçmiş sorgu yazmak istiyorum; Numune SQL aşağıda gibidir:Doctrine 2 QueryBuilder biçimine nasıl dönüştürülür?
SELECT * FROM layer WHERE layer.id NOT IN
(SELECT task_id FROM users_tasks WHERE user_id = 1)
AND parent_id IS NOT NULL AND leaf IS TRUE
Ben İKİNCİSELECT
deyimi dönüştürme sorun var.
Şimdiden teşekkürler.
createQuery
ürününü createQueryBuilder
ile yapmak isterim.
1)
$subquery = $this->_em->createQueryBuilder()
->select('t.id')
->from('yourBundle:Task', 't')
->innerjoin('t.user','u')
->where('u.id = 1')
->getDQL();
2) sonra test ettim Sorgunuzla
$query = $this->_em->createQueryBuilder()
->select('l')
->from('yourBundle:Layer', 'l')
->where($query->expr()->notIn('l.id', $subquery))
....;
oluşturmak için alt sorgu oluşturma ve işe yarıyor :)
"createQueryBuilder" ile olanı isterim; – PMoubed
Sorguyu değiştiriyorum (yukarıdaki detaylar) –
Çalışıyor. Teşekkürler. – PMoubed