我有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"指定。表格中没有这样的列"类别"。
我查看了用户/帖子示例中的文档,并且不明白为什么我的示例不起作用。有人可以清理一下吗?谢谢。
答案 0 :(得分:0)
确保产品表中包含名为categoryId
的字段,以便保存category
表的主键
答案 1 :(得分:0)
尝试指定categoryid
而不是categoryId
。原因可能是lower_case_table_names
mysql指令。