在PHP和yii2中填充下拉菜单


filling dropdown menu in php and yii2

我试图填写一个下拉菜单与数据从查询没有成功。我使用下面的代码,我如何修复它?

<?= $form->field($model, 'plan_id')->dropDownList([
   yii'helpers'ArrayHelper::map(Yii::$app->db->createCommand('SELECT id,name FROM plans')
            ->queryAll(), 'id', 'name'),
   ['prompt' => 'Set plan'],
        'options'=>[$pl=>['Selected'=>true]]]);
?>

似乎你有太多的[]

  <?= $form->field($model, 'plan_id')->dropDownList(
        yii'helpers'ArrayHelper::map(Yii::$app->db->createCommand('SELECT id,name FROM plans')
          ->queryAll(), 'id', 'name'),
        ['prompt' => 'Set plan'],
        'options'=>[$pl=>['Selected'=>true]]);
  ?>

你也可以使用ActiveRecord

  <?= $form->field($model, 'plan_id')->dropDownList(
        yii'helpers'ArrayHelper::map(Plans::find()->all(), 'id', 'name'),
        ['prompt' => 'Set plan'],
        'options'=>[$pl=>['Selected'=>true]]);
  ?>