2014-10-27 6 views
7

मैं yii 2.0 फ्रेमवर्क का उपयोग कर रहा हूं। मैं अपने डेटाबेस से विकल्प कैसे बना सकता हूं। मैं इस पाया, लेकिन यह Yii 1.1 है:ड्रॉपडाउनलिस्ट yii 2.0 उदाहरण

<?php echo CHtml::dropDownList('listname', $select, 
      array('M' => 'Male', 'F' => 'Female')); 

मैं फार्म के लिए इसे पारित करना चाहते हैं:

<?php $form->dropDownList() ?> 

कैसे मैं अपने डेटाबेस तालिका से मेरी dropdownlist भर सकते हैं?

उत्तर

9

yii\helpers\Html का उपयोग करें इसमें Html::dropDownList() शामिल है।

echo Html::dropDownList('listname', $select, ['M'=>'Male', 'F'=>'Female']); 

चेक Yii Framework 2.0 API

नियंत्रक

public function actionSomething() { 
    $sexes = ['M'=>'Male', 'F'=>'Female']; 
    $this->render('yourView', ['sexes'=>$sexes]); 
} 

देखें

<?php 
:: 
    echo Html::dropDownList('listname', $select, $sexes); 
:: 
?> 
+0

मैं उपयोग कर रहा हूँ चाहता हूँ ActiveForm विजेट, क्या वहां पैरामीटर पास करना संभव है? सबसे अच्छा तरीका क्या है? नियंत्रक में बनाएँ और सरणी, मैं अंग्रेजी उदाहरणों से बाहर हूं (: – pvaitonis

+0

आप नियंत्रक में सरणी बना सकते हैं, लेकिन मैं आमतौर पर दृश्य में सरणी बना देता हूं। क्या ड्रॉपडाउन मान डेटाबेस में संग्रहीत हैं या क्या यह सिर्फ एक अनस्टर्ड सूची है मूल्य? – Barry

+0

हां, मान डेटाबेस में संग्रहीत हैं। क्या आप उन्हें नियंत्रक से पास करने का उदाहरण बना सकते हैं? – pvaitonis

12

आप ActiveForm विजेट इस का उपयोग का उपयोग करते हैं:

<?php 
    $items = ArrayHelper::map(Model::find()->all(), 'id', 'name'); 
    $form->field($model, 'attribute')->dropDownList($items) 
?> 
3

हाँ अगर आप ActiveForm विजेट का उपयोग, यू न, नियंत्रक में कुछ भी बदलने की, विचारों में, के रूप में है इस ऐड जहां यू लटकती

1
<?= $form->field($model, 'name_of_field')->dropdownList(['1' => 'aaa', '2' => 'bbb'], ['prompt' => '---Select Data---']) ?> 
संबंधित मुद्दे