我是Yii框架的新手,现在我尝试从相关表创建下拉列表。我有表“News”[...很多字段,类别]和“NewsCategories”[id,category_name]。在新闻中创建新记录的表单中,我想在类别字段中创建一个下拉列表,当用户可以选择一个category_name时,但类别的id必须记录在新记录中。
请帮助我。对不起,我的英语。我希望我解释它可以理解。
下面是我如何创建关系
模型新闻. php
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'category'=>array(self::BELONGS_TO, 'NewsCategories', 'category'),
);
}
模型新闻分类. php
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'news'=>array(self::HAS_MANY, 'News', 'id'),
);
}
以及我如何尝试创建下拉列表:
<?php echo $form->dropDownList($model,'category',CHtml::listdata(News::model()->with('category')->findAll(),'id','category_name'),array('empty'=>'(Select a category')));?>
1条答案
按热度按时间aydmsdu91#
当指定关系时,你不需要指定主键(id),因为yii可以从模型中扣除主键,你只需要指定另一端,所以你的NewsCategory关系应该看起来像这样:
要获取适合下拉列表数据,请使用