最新消息: 新版网站上线了!!!

Yii relations 写法

yii的relations里self::BELONGS_TO默认是用当前指定的键跟关联表的主键进行join,例如:

Post

return array(

'reply' => array(self::BELONGS_TO, 'BookPostReply', 'postid'),

 );

默认生成的sql类似 on id = postid,id是本表的主键,postid是表BookPostReply的一个字段(主键)

但是需要生成 on BookPostReply.postid = t.postid

关联非主键字段

方法一,改成如下:

return array(

'reply' => array(self::BELONGS_TO, 'BookPostReply', '', 'on' => 't.postid=reply.postid'),

);

 

方法二:

array(self::BELONGS_TO,'对应的模型',array('本模型的外键'=>'对应模型的主键'))

这样也可以定义的,只要明确指定主键和对应表的外键就可以了。

官方开发指南里是这样写的:

array('fkc1'=>'pkc1','fkc2'=>'pkc2')

转载请注明:谷谷点程序 » Yii relations 写法