2008-12-04 14 views

उत्तर

153

आप भी इस तरह इसका इस्तेमाल कर सकते हैं:

आप न सरणी फटना करने की जरूरत है, और यह है सुरक्षित

+12

इस समस्या को गुमराह किया और आपका समाधान मिला - तब एहसास हुआ कि मैंने इसे पहले ही एक बार बढ़ा दिया है। इसलिए जब से मैं आपको फिर से ऊपर नहीं उठा सकता, इस टिप्पणी को प्रशंसा के प्रतीक के रूप में ले लो! – leek

+0

महान, बहुत धन्यवाद :) –

+0

आईएसएस परमिट करने पर इतनी विविधताएं, Google glopping का उपयोग करने की मेरी शाम को बचाने के लिए धन्यवाद! –

8

जाहिरा तौर पर यह करना बहुत ही आसान ... बेवकूफ मैं हूँ:

$select->where('status_id IN(1,3,4)'); 

:(

+0

हाँ, यह सही है। –

1
$completionNo = implode(",",$data); 

$db = Zend_Db_Table_Abstract::getDefaultAdapter(); 
$select = $db->select()->from(array("p"=>PREFIX . "property_master"),array('id','completion_no','total_carpet_area'))->where("p.completion_no IN (?)", $completionNo); 
6

पहले उत्तर शायद ZF1 में काम करता है, लेकिन यह Zend फ्रेमवर्क 2 में काम नहीं करता:

में यदि ज़ेंड फ्रेमवर्क 2 मुझे पता चला कि आपको इसका उपयोग करना है:

$data = array(1,3,4); 
$select->where(array('status_id' => $data)); 

परिणाम:

WHERE `status_id` IN ('1', '3', '4') 

मैं इस कहीं भी दस्तावेज नहीं मिल सका! जेडएफ दस्तावेज आमतौर पर उप-इष्टतम है।

+0

हां, मैं पुष्टि कर सकता हूं कि पहला उत्तर: $ select-> जहां ('status_id IN (?)', $ डेटा); वास्तव में ZF1 में काम करता है – Vlado

1

हम Zend\Db\Sql\Predicate\InZend\Db\Sql\Where के साथ बनाने के लिए उपयोग कर सकते हैं जहां मॉडल के अंदर क्वेरी में।

$this->status_ids = array(1,3,4); 

// select attributes from db by where in 
$result = $this->select(function (Select $select) { 
    $predicate = new In(); 
    $select->where(
     $predicate->setValueSet($this->status_ids) 
       ->setIdentifier('status_id') 
    ); 
})->toArray(); 
संबंधित मुद्दे