我是yii框架的新手,所以我可以使用一些帮助。假设我在POST数据库中有一个表,其中一个字段是TYPE。在另一个表格中,我有很多这样的类型:
表类型:
id name
1 Politic
2 Sport
3 Espiritual
表格帖子:
id title
1 Politic in Barsovia
2 God exist!
3 Del Po Win in Rotterdam
Table Post_type
id id_post id_type
1 1 1
2 2 3
3 3 2
我在TYPE中有关系
'posttype' => array(self::HAS_MANY, 'Post_type', 'ID_TYPE'),
我在POST中有关系
'posttype' => array(self::HAS_MANY, 'Post_type', 'ID_POST'),
我想要example
问题:
如何从表TYPE
中创建复选框列表如何使用activeCheckBoxList width CAdvancedArBehavior
答案 0 :(得分:1)
您可以在CActiveForm中使用CHtml :: checkBoxList()(或CHtml :: activeCheckBoxList()或其包装器)。例如,在您的控制器中,您可以使用此行来检索所有相关类型:
$types = CHtml::listData($model->posttype, 'id', 'name'); // prepare the data for check box list
// the rest of your controller code ...
$this->render('create', array(
'model' => $model,
'types' => $types,
));
在您的视图中,您可以使用CActiveForm :: checkBoxList()来生成复选框:
<?php echo $form->checkBoxList($model, 'type', $types); ?>
此外,我建议您通过更改名称使您的关系更加用户友好:您应该在“类型”模型中将“帖子”作为关系的名称,并在“帖子”中将“类型”作为关系的名称模型。