2

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

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

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

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

<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(),并且绝对不起作用。我无法理解我做错了什么。你能帮忙吗?

4

2 回答 2

6

您的论点不正确(应该如此):

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

检查文档

于 2012-05-24T21:04:21.687 回答
3

好的,我找到了,感谢Larry Ullman 出色的教程

这里是:

<?php echo $form->dropDownList($model,'project_id', CHtml::listData(Project::model()->findAll(), 'id', 'name')); ?>
于 2012-05-24T21:06:38.853 回答