Doctrine क्वेरी में फ़िल्टर के रूप में शून्य मान कैसे निर्दिष्ट करें?


79

मैं Zend में Doctrine 1.1 का उपयोग कर रहा हूं। मैं एक क्वेरी लिखने की कोशिश कर रहा हूं जो एक निश्चित कॉलम में एक शून्य मान रखता है।

    $q = Doctrine_Query::create()
    ->select('a.*')
    ->from('RuleSet a')
    ->where('a.vertical_id = ?', null);

    $ruleset_names_result = $q->execute(array(), Doctrine::HYDRATE_ARRAY);

मेरे पास नियम तालिका में तीन रिकॉर्ड हैं जिनका वर्टिकल_ड कॉलम में NULL मान है फिर भी क्वेरी डस्ट इन नहीं मिलता है।

मदद की सराहना करें।

सिद।

जवाबों:


165

मैं सिम्फनी के साथ सिद्धांत का उपयोग करता हूं, और यही मैं करता हूं:

where('a.vertical_id is NULL');


7
अविश्वसनीय ... आपको NULL पर कैप लगानी थी, मुझे त्रुटि खोजने में एक घंटा लगा ... धन्यवाद। पहले स्टैकओवरफ्लो को गुगना चाहिए था।
मैट वलैंडर

6
इसके विपरीत होगाwhere('a.vertical_id is not NULL');
गिगला

14

यदि आप Symfony 2 और इसके बाद के संस्करण का उपयोग कर रहे हैं, तो आप इस कोड का उपयोग कर सकते हैं:

->where($qb->expr()->isNull('a.vertical_id'));

संदर्भ:
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/query-builder.html#the-expr-class


आपका उत्तर सिद्धांत के संस्करण 2 का संदर्भ देता है। प्रश्न 1 संस्करण की चिंता करता है ...
wolxXx
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.