2014-04-01 110 views
0

我有2个表,类别(ID,姓名)和产品(ID,的categoryId,标题,内容)和我的模型看起来像这样警予活动记录关系

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

确保产品表有为了节省category表的主键

+0

我的产品表有一个categoryId列。 – CipQuestion

+0

@CipQuestion:那为什么它不在'Products'模型中? – Nauphal

+0

我试着将它添加到模型中,但仍然没有,同样的错误。 – CipQuestion

0

尝试specifing的categoryid代替categoryId场称为categoryId。原因可以在lower_case_table_names mysql指令中。