मुझे अपने डेटाबेस कॉलम फ़ील्ड में value1,value2,value3,value4 के रूप में संग्रहीत मान मिले, इसलिए एक simple_array कॉलम।

तो मैं इसका उपयोग करके खोज करने के लिए सिद्धांत का उपयोग कर रहा हूं:

$searchQuery = $this->getDoctrine()
        ->getRepository('AppBundle:Ads')
        ->createQueryBuilder('p')
        ->andWhere("p.vals <= :value2")
        ->setParameter('value2',  $request->query->get('value2'));
        ->orderBy("p.creationtime", 'DESC');

तो उम्मीद है कि value2 एक साधारण सरणी की दूसरी स्थिति में है जैसे value1,value2,value3, मैं क्वेरीबिल्डर को स्ट्रिंग में दूसरा मान चुनने के लिए कैसे कह सकता हूं?

मुझे लगता है कि यह क्वेरी p.vals में सभी मान प्राप्त करने का प्रयास करती है, परिणाम सही नहीं हैं, केवल एक का चयन करें।

मैं कैसे चयन कर सकता हूं उदा। p.vals में दूसरा मान?

-2
andreaem 15 जिंदा 2020, 17:08

1 उत्तर

सबसे बढ़िया उत्तर

मेरा मानना ​​​​है कि आप शुद्ध माइस्क्ल का उपयोग करके सरणी कॉलम के एनएच आइटम तक नहीं पहुंच सकते क्योंकि डेटा क्रमबद्ध है, ऐसा करने के लिए मैं एक साधारण फ़ंक्शन बनाउंगा

public function getItemFromArray(array $array, $index)
{
    return isset($array[$index]) ? $array[$index] : null;
}

और यदि आप शर्त के उपयोग के साथ आइटम ढूंढना चाहते हैं

array_filter()
1
B0re 15 जिंदा 2020, 14:57