php - 如何在 yii 的更新 View 中加载多个下拉列表中的选定值?

标签 php mysql yii

我是 yii 的新手。更新记录时,我无法在下拉列表中获取选定的值。
我有多个用户电子邮件的下拉菜单。
当添加它工作正常时,它允许我选择多个值并可以在数据库中插入所选值的逗号分隔的 ID。
但问题是当我想更新记录时它只显示 1 个选定的记录。

这是我的代码:

在我的查看文件中:

<div class="controls">
    <?php echo $form->dropDownList($model, 'uid', $allUsers, array('class' => 'select2-me input-sel_large', 'multiple' => 'true', 'options' => array('' => array('selected' => true)))); ?>
        <?php echo $form->error($model, 'uid') ?>
</div>

在我的 Controller 文件中:

$model = new User;
$allUsers = $model->getAllUsers();

在我的模型文件中:

public function getAllUsers() {
        $arr = Yii::app()->db->createCommand()
        ->select('userEmail,pkUserID')
        ->from('tbl_user')
        ->queryAll();
        $users = array();
        if (is_array($arr)) {
            foreach ($arr as $value) {
                $users[$value['pkUserID']] = $value['userEmail'];
            }
        }
        return $users; 
    }

有人能帮忙吗?

最佳答案

例子。希望对您有所帮助。

class YourForm extends CFormModel
{
    public $uid = array(); // selected pkUserID's
}

//in action
$yourForm = new YourForm();
$yourForm->uid = array(1,2,3); // for example selected users with pk 1,2,3

$this->render('your_view', array('yourForm'=>$yourForm));

//view
/** @var CActiveForm $form */
/** @var YourForm $yourForm */
echo $form->dropDownList(
    $yourForm,
    'uid',
    CHtml::listData(User::model()->findAll(array('order' => 'userEmail ASC')), 'pkUserID', 'userEmail'),
    array('empty' => '', 'multiple'=>true))
   )

关于php - 如何在 yii 的更新 View 中加载多个下拉列表中的选定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30638594/

相关文章:

php - 如何在 PHP 中检测不明确和无效的日期时间?

c# - 是否可以将数据从 C# 应用程序发送到网站/网络服务器?

javascript - 如果从下拉列表中选择任何选项,则需要输入

mysql 错误号 : 150 “Foreign key constraint is incorrectly formed” - MariaDB

sql - 加载数据文件 + 禁用/启用按键性能

使用 Nginx 的 Php - 403 禁止访问

yii - 将变量从 Controller 传递到 Yii 中的 View

jquery - afterAjaxUpdate 回调函数 CListView 显示未定义

php - mysql LIKE语句做精确匹配

php - 如何获取mysql中特定日期之间的值