मुझे क्लॉज जोड़ने के बाद getListQueryBuilder
द्वारा क्वेरी बिल्डर को OR
अभिव्यक्तियों को गतिशील रूप से जोड़ना होगा। मुझे ऐसा करने का कोई उपयुक्त तरीका नहीं मिल रहा है, मैं सिर्फ सिद्धांत सीखना शुरू कर रहा हूं।Doctrine2 क्वेरी बिल्डर में चेनिंग ORX
मैं orX
की किसी दिए गए संख्या को "चेन" कैसे कर सकता हूं और उन्हें अपने निर्माता में जोड़ सकता हूं?
public function getListQueryBuilder($ownerId)
{
$qb = $this->createQueryBuilder('t');
return $qb
->where($qb->expr()->eq('t.user', ':user'))
->setParameter('user', $ownerId);
}
$builder = getListQueryBuilder(4);
// $ORs is a dynamically builded array, here is just an example
$ORs = array();
$ORs[] = $builder->expr()->like("t.name", 'my name');
$ORs[] = $builder->expr()->like("t.description", 'desc');
// Adding ORs to the builder
$builder->andWhere($builder->expr()->orX(/* here */));
आप पूरा लेख पढ़ने के लिए चाहते हैं, तो: $ orX = $ बिल्डर-> expr() -> orX(); foreach ($ ORs $ या $ { $ orX-> जोड़ें ($ या); } $ बिल्डर-> और कहां ($ ORX); –
@LouTerrailloune जो उत्तर का हिस्सा बनना चाहिए –
यह मेरे लिए चाल है! इसे इंगित करने के लिए चीयर्स :) – Sharpy35