1

在 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。

这可能吗?

4

1 回答 1

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 会在你显示的每篇文章中询问数据库的类别名称。

如果我错了,请纠正我,但我记得它是这样工作的。

于 2013-04-28T17:51:09.447 回答