我正在玩一个小应用程序以学习使用 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());
关于Yii:如何用另一个模型数据填充 Select 输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10744479/