कई आईडी के आधार पर लारावेल मॉडल के परिणाम प्राप्त करें


108

मैंने ZendSearchअपने Laravelआवेदन में लागू कर दिया है। मैं इसे अपने खोज इंजन के रूप में उपयोग कर रहा हूं जहां उपयोगकर्ता एक खोज शब्द टाइप करेंगे, और फिर ZendSearchमुझे प्रासंगिकता द्वारा आदेशित परिणामों की एक सरणी लौटाएंगे। हालाँकि, जो सरणी ZendSearchवापस आती है, वह केवल मेरे रिकॉर्ड आईडी को वापस करती है (यह वास्तविक रिकॉर्ड जानकारी में से कोई भी वापस नहीं करता है)।

आगे मेरे मॉडल को क्वेरी करने का सही तरीका क्या होगा, जो परिणाम के आधार पर परिणामों को प्राप्त करने के लिए है ZendSearchजो प्रासंगिकता के आधार पर आईडी के आदेश का एक सरणी है।

मुझे पता है कि मैं Model::find(1)1 की आईडी के साथ अपना रिकॉर्ड कैसे लौटाऊंगा, लेकिन मैं उस find()तरीके की आईडी कैसे फ़ीड कर सकता हूं जिसे मैं चाहता हूं कि मैं इसे दे रहा हूं।


टिप्पणी करने के लिए परवाह क्यों downvote?
justinl

1
एक और पतन? क्यों? :) लार्वा डॉक्स भी findMany () या किसी फ़ंक्शन को खोजने के लिए किसी सरणी को पास करने की क्षमता के बारे में कुछ नहीं कहते हैं। यह एक वैध प्रश्न कैसे नहीं है? :)
२२

4
आपके लिए मतदान, इस सवाल ने मेरी मदद की। :) मैंने findManyया तो दस्तावेज़ में नहीं देखा , और यह एपीआई दस्तावेज़ में है
पीटर लियांग

जवाबों:


233

यह आसान है। उपयोग करें findMany:

$models = Model::findMany([1, 2, 3]);

वैसे, आप किसी सरणी को पास भी कर सकते हैं find()और यह आंतरिक रूप से कॉल करेगा findMany:

$models = Model::find([1, 2, 3]);

हुड के तहत यह सिर्फ whereInइतना करता है कि आप भी ऐसा कर सकते हैं:

$models = Model::whereIn('id', [1, 2, 3])->get();

यह बहुत सुंदर और सरल है। आपके उत्तर के लिए धन्यवाद।
Chocolata

7
आप यह भी कह सकते हैं कि यह वाक्पटु है ;)
संगीत 3 डी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.