【问题标题】:checkbox foreign key belongs to many in Yii复选框外键在 Yii 中属于很多
【发布时间】:2013-02-21 13:48:26
【问题描述】:

我是 yii 框架的新手,所以我可以使用一些帮助。假设我在我的数据库中有一个带有 POST 的表,其中 1 个字段是 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宽度CAdvancedArBehavior

【问题讨论】:

  • 请花一些时间来更好地表达问题所在以及您遇到的具体问题(您应该做最少的努力,包括事先阅读任何相关文档)。就目前而言,这个问题尚不清楚,是结束的主要候选人。

标签: checkbox yii foreign-keys one-to-many belongs-to


【解决方案1】:

您可以使用 CHtml::checkBoxList()(或 CHtml::activeCheckBoxList() 或其在 CActiveForm 中的包装)。例如,在您的控制器中,您可以使用这一行来检索所有相关类型:

$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); ?>

另外,我建议您通过更改名称使您的关系更加用户友好:您应该在 Type 模型中将“posts”作为您的关系名称,并将“types”作为您在 Post 中的关系名称型号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多