Yii:如何用另一个模型数据填充 Select 输入?

标签 yii relational-database

我正在玩一个小应用程序以学习使用 Yii。

我创建了一个带有 2 个模型/表的小型网络应用程序:项目和任务。 (一对多关系,在模型类中正确配置)。

我现在正在尝试自定义任务/创建 View ,将文本输入字段替换为一个提供可用项目列表的选择框。

我打开表单 View 并尝试了这个:

<div class="row">
    <?php echo $form->labelEx($model,'project_id'); ?>
    <?php echo $form->textField($model,'project_id'); ?>
    <?php 
// my hack starts here
    $projects = Project::model()->findAll();
    $list = CHtml::listData($projects, 'id', 'name');
    echo $form->listBox($model,'project_id','', $list); ?>

// my hack ends here
    <?php echo $form->error($model,'project_id'); ?>
</div>

但它不断抛出警告或错误(例如 Invalid argument supplied for foreach(),并且绝对不起作用。我不明白我做错了什么。你能帮忙吗?

最佳答案

你的论点不符合顺序(应该是这样):

$frameworks = Framework::model()->findAll();
$list = CHtml::listData($frameworks, 'id', 'name');
echo $form->listBox($model,'framework_id', $list,array());

检查 documentation

关于Yii:如何用另一个模型数据填充 Select 输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10744479/

相关文章:

jquery - CGridView - 为删除行按钮添加自定义功能

yii - PHPDOC @property 关联到 getter

yii - 如何让 Yii CListView 显示 WYSIWYG 格式的文本?

mysql - 在 yii2 的 $query 中添加 beetween 选项

php - 访客计数器的MYSQL数据库表结构

python - PostgreSQL 中的关系设计

mysql - 记录行数

gridview - 如何在 Yii2 gridview 中将操作按钮显示为下拉列表?

database - 是否可以监听关系数据库更新?

mysql - 我应该为双角色用户维护一两个唯一 ID 吗?