YII新手在这里。
我遇到了一对多关系的问题。
我们有以下表格:
## users
uid
username
## notes
date
body
## users_notes
user_id
note_id
我们有两个型号 - 用户:
'usersNotes' => array(self::HAS_MANY, 'UsersNotes', 'user_id'),
和注释:
'usersNotes' => array(self::HAS_MANY, 'UsersNotes', 'note_id'),
当然我们还有一个数据透视表模型 - users_notes:
return array(
'user' => array(self::BELONGS_TO, 'Users', 'user_id'),
'note' => array(self::BELONGS_TO, 'Notes', 'note_id'),
);
尝试在foreach循环中显示备注时,我们在Invalid argument supplied for foreach()
文件的foreach($this->_pkAlias as $name=>$alias)
行中收到错误/framework/db/ar/CActiveFinder.php(838)
。
你有什么想法吗?我们有什么遗漏/做错了吗?
答案 0 :(得分:0)
如果我理解你的问题,你会有“一个用户有多个笔记”这样的关系。在这种情况下,您不需要第三个表。 Notes只需要一个指向Users表中user_id的外键。
如果您需要多对多关系,请告诉我们。