मेरे पास स्टेटस ऑब्जेक्ट्स का एक ऐरे चयन है जिसे अब मैं एक सिद्धांत क्वेरी के लिए WHERE खंड में IN पैरामीटर के रूप में उपयोग करना चाहता हूं। यहां मेरा प्रश्न कोड है:एक सिद्धांत क्वेरी में पैरामीटर के रूप में एक सरणीकरण का उपयोग
$query = $repository->createQueryBuilder('r')
->join('r.applicationStatus', 's')
->where('r.submitted IS NOT NULL')
->andWhere('r.created >= :date')
->andWhere('r.created < :date2')
->andWhere('s IN (:status)') // Here's the In statement
->orderBy('r.created', 'DESC')
->setParameter('date', $appSearch->getDateFrom())
->setParameter('date2', $end)
->setParameter('status', $appSearch->getApplicationStatus()) //Here's the array collection
->getQuery();
हालांकि क्वेरी शून्य रिकॉर्ड लौटा रही है। इसके लिए काम करने के लिए मुझे $ appSearch-> getAplicationStatus() arraycollection के माध्यम से मैन्युअल रूप से पुन: प्रयास करना होगा और इस समय सही परिणामों को उत्पन्न करने के लिए क्वेरी के लिए स्थिति आईडी को एक नई सरणी में ले जाना होगा - जो बहुत अक्षम महसूस करता है।
मैं क्या गलत कर रहा हूं?
ArrayCollection वर्ग (बहुत सुविधाजनक) 'toArray' एक ही बात करने के लिए विधि है। – spdionis
यह शर्म की बात है, क्योंकि सिद्धांत * एक ईक() तुलना के लिए पैरामीटर के रूप में ऑब्जेक्ट को स्वीकार कर सकता है, लेकिन ऐसा लगता है कि ऑब्जेक्ट्स की सरणी पसंद नहीं है। – darkbluesun