yii积极的记录关系

时间:2014-04-01 08:50:38

标签: php mysql yii orm

我有2个表,类别(ID,名称)和产品(id,categoryId,title,content),我的模型看起来像这样

class Category extends CActiveRecord {
    public $id;
    public $name;
    public function tableName() { return 'categories'; }
    public function relations() {
        return array('products' => array(self::HAS_MANY, 'Product', 'categoryId'));
    }
}
class Product extends CActiveRecord {
    public $id;
    public $title;
    public $content;
    public function tableName() { return 'products'; }
}

问题是当我尝试访问这样的产品时

Category::model()->with('products')->findAll()
  

关系"产品"在活跃的记录类"类别"使用无效的外键" categoryId"指定。表格中没有这样的列"类别"。

我查看了用户/帖子示例中的文档,并且不明白为什么我的示例不起作用。有人可以清理一下吗?谢谢。

2 个答案:

答案 0 :(得分:0)

确保产品表中包含名为categoryId的字段,以便保存category表的主键

答案 1 :(得分:0)

尝试指定categoryid而不是categoryId。原因可能是lower_case_table_names mysql指令。