Php Yii2不带$model的下拉列表

Php Yii2不带$model的下拉列表,php,drop-down-menu,yii2,Php,Drop Down Menu,Yii2,我在网上到处搜索,寻找解决这个问题的办法。我已经知道Yii2的下拉方式是: <?php use yii\helpers\ArrayHelper; use backend\models\Standard; ?> <?= Html::activeDropDownList($model, 's_id', ArrayHelper::map(Standard::find()->all(), 's_id', 'name')) ?> 但是我想在不使用$mode

我在网上到处搜索,寻找解决这个问题的办法。我已经知道Yii2的下拉方式是:

<?php
use yii\helpers\ArrayHelper;
use backend\models\Standard;
?>

<?= Html::activeDropDownList($model, 's_id',
      ArrayHelper::map(Standard::find()->all(), 's_id', 'name')) ?>

但是我想在不使用
$model
。。。有没有办法做到这一点

提前谢谢你

您也可以使用

Html::dropDownList()


参见

您也可以使用:

public function getAll()
{
    $get = Standard::find()->all();
    $result = ArrayHelper::map($get, 'id', 'name');
    return $result;
}
然后下拉:

<?= Html::dropDownList(Standard::getAll(), ['prompt' => '--- select ---']) ?>


这将解决您的错误。

这不起作用,它会抛出错误:htmlspecialchars()希望参数1是字符串,数组给定,因为作为参数,我仍然必须传递:
Standard::find()->all()
,它仍然是数组。。。我怎么能绕过它呢?第一个参数是要分配给控件的名称,第二个参数是值,第三个参数是项。谢谢,我的参数分配错了!这已经解决了,感谢您的快速回复。如果我遇到更多问题,我能麻烦你吗?附言:我会在2分钟内接受答案。。。那是我到达标准时间的时候DNo没有问题,但我不能保证这样的快速响应。将代码放在视图中违反了MVC原则。
<?= Html::dropDownList(Standard::getAll(), ['prompt' => '--- select ---']) ?>