2011-04-12 3 views

उत्तर

108

सिद्धांत में 2.1 विधि EntityRepository # findBy() अब आदेश, सीमा और ऑफसेट के लिए अतिरिक्त पैरामीटर स्वीकार करता है।

see full list new features in doctrine 2.1 (404) Relevant link to findBy and findOneBy

उदाहरण:

public function findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) 

उपयोग:

$product = $repository->findBy(
    array('name' => 'foo'), 
    array('price' => 'ASC'), 
    $myLimit, 
    $myOffset 
); 
+0

उत्तर के लिए Thx, NikSen! मैंने हाल ही में डॉक्टर की साइट की जांच नहीं की है इसलिए मुझे इसका एहसास नहीं हुआ! – blacktie24

+1

वास्तव में उपयोगी होगा अगर उत्तर वास्तव में पैरामीटर का उपयोग करने के उदाहरणों के उदाहरण सूचीबद्ध करता है। – Acyra

+0

सहमत हुए, मैं कुछ मिनटों के लिए इसके उत्तर के लिए चारों ओर खोज कर रहा हूं। – Fapiko

3

सामान्य भंडार वर्ग की findBy() विधि इसका समर्थन नहीं करती है।

मैं अपना खुद का भंडार लिखूंगा (outlined here के रूप में) और अतिरिक्त पैरामीटर लेने के लिए findBy() को ओवरराइड करें। आपका नया कार्यान्वयन उचित क्वेरी बनाने के लिए क्वेरी बिल्डर, या सादे-पुराने-डीक्यूएल का उपयोग कर सकता है। (मैं क्वेरीबिल्डर का उपयोग करता हूं, क्योंकि आप संभवत: QueryBuilder::where() में 0 मानदंड पैरामीटर को पास कर सकते हैं)

+0

Thx timdev, यह सुझाव है कि मैं डॉक्ट्राइन 2.0 के साथ उपयोग कर समाप्त हुआ। – blacktie24

4

DQL के लिए आपके पास: QueryBuilder setMaxResults (पूर्णांक maxResults)।

संबंधित मुद्दे