Doctrine में findBy () के साथ परिणाम कैसे ऑर्डर करें


147

मैं findBy()एक सिद्धांत भंडार पर विधि का उपयोग कर रहा हूँ :

$entities = $repository->findBy(array('type'=> 'C12'));

मैं परिणामों का आदेश कैसे दे सकता हूं?

जवाबों:


307

दूसरा पैरामीटर findByORDER के लिए है।

$ens = $em->getRepository('AcmeBinBundle:Marks')
          ->findBy(
             array('type'=> 'C12'), 
             array('id' => 'ASC')
           );

7
जाहिरा तौर पर सिद्धांत वेबसाइट पर एपीआई प्रलेखन वास्तविक स्रोत कोड से मेल नहीं खाता है। github.com/doctrine/doctrine2/blob/2.4/lib/Doctrine/ORM/… दिखाता है कि आप सही हैं।
पैट्रिक जेम्स मैकडॉगल

क्या मैं उत्परिवर्ती आदेश सेट कर सकता हूं?
फेबियन पापेट

9
इस प्रश्न को खोजने में थोड़ी देर हो गई, लेकिन किसी और को इस बारे में सोचने के लिए, हां आप कई "ऑर्डर" जोड़ सकते हैं, बस उस दूसरे पैरामीटर सरणी में अधिक तत्व जोड़ सकते हैं और फ़ील्ड नाम 'ASC' या 'DESC' को परिभाषित कर सकते हैं। आयरलैंड के लिए: array('priority'=>'ASC','id'=>'ASC')
एरॉन बेलचैबर

1
क्या होगा अगर AcmeBinBundle: मार्क्स "उत्पाद" के साथ कईटाउन से संबंधित है और हम उत्पाद ऑब्जेक्ट में एक क्षेत्र द्वारा ऑर्डर करना चाहते हैं? क्या यह पॉसिबल है?
रोडोल्फो वेलास्को

2
@RodolVelasco findByका उपयोग बुनियादी क्वेरी दृश्य के लिए किया जाता है, अधिक जटिल दृश्य के लिए, इसके बजाय क्वेरी का उपयोग करें। पसंद है $qb = $em->getRepository('AcmeBinBundle:Marks')->createQueryBuilder('m')->...
1

25
$ens = $em->getRepository('AcmeBinBundle:Marks')
              ->findBy(
                 array(), 
                 array('id' => 'ASC')
               );

10
$cRepo = $em->getRepository('KaleLocationBundle:Country');

// Leave the first array blank
$countries = $cRepo->findBy(array(), array('name'=>'asc'));
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.