2012-12-31 10 views
5

मैं findAll() इस तरह का उपयोग करें:Yii - कैसे जहां की तरह की स्थिति का उपयोग करें और सीमित करने के लिए

$l = SiteContentRelated::model()->findAll('content_1=:c', array(':c' => $id)); 

मैं इस के लिए शर्त जोड़ सकते हैं?

LIMIT 5 या कुछ भी के रूप में पसंद है?

उत्तर

13

उपयोग CDbCriteria अधिक विस्तृत मानदंडों का उल्लेख करें:

$criteria = new CDbCriteria; 
$criteria->condition = 'content_1=:c'; 
$criteria->limit = 5; 
$criteria->params = array(':c' => $id); 

$l = SiteContentRelated::model()->findAll($criteria); 

या findAll को एक सरणी जो एक CDbCriteria में परिवर्तित हो जाएगा पारित:

$l = SiteContentRelated::model()->findAll(array(
    'condition' => 'content_1=:c', 
    'limit' => 5, 
    'params' => array(':c' => $id), 
)); 

जब आप एक LIMIT निर्दिष्ट करते हैं, यह है ORDER BY निर्दिष्ट करने का एक अच्छा विचार।


छानने के लिए पर मॉडल गुण आधारित, आप भी findAllByAttributes उपयोग कर सकते हैं:

$l = SiteContentRelated::model()->findAllByAttributes(array(
    'content_1' => $id, 
), array(
    'limit' => 5, 
)); 
संबंधित मुद्दे