在phpmyadmin中,我在mysql数据库中创建了2个表。
例如 - 产品表
tbl_product
id - int, pk, autoincrement
name - varchar 20
price - decimal
category_id - int, fk, notnull
tbl_category
id - int, pk, autoincrement
name - varchar(20)
从上面,您可以看到产品将包含category_id的值。
我已经在gii中自动为tbl_product生成了模型。
我正在尝试为tbl_product模型创建crud类,但是当我这样做时,我想将tbl_category.name显示为标签和下拉列表,而不是tbl_product.category_id中包含的id。
这可能吗?
答案 0 :(得分:1)
在模型(关系部分)中:
'category' => array(self::BELONGS_TO, 'tbl_category', 'category_id')
在视图中,例如:
...isset($model->category) ? $model->category->name...
有一点需要注意 - 如果您要同时展示大量具有相关类别名称的产品,则应使用$criteria->with = 'tbl_category'; $criteria->together = true'
。如果你这样做 - yii将构建查询以立即获得所有需要的数据。否则,yii会在您显示的每个帖子前询问数据库的ctaegory名称。
如果我错了,请纠正我,但我记得它是这样的。