在我的数据库中,我有5个表:
每个游戏都有很多标签,集合中有很多标签.如果我收集一个集合,我可以使用该集合的标签找到它的游戏.
我正在尝试使用yii关系执行此任务:
//in Collection's relations:
'tags'=>array(self::MANY_MANY, 'Tag', 'collections_tags(coll_id,tag_id)'),
'games'=>array(self::HAS_MANY, 'Game','tag_id', 'through'=>'tags')
Run Code Online (Sandbox Code Playgroud)
然后我得到一个$ collection并试试这个:
echo "collection ".$collection->name.": (id=".$collection->coll_id.") has ".count($collection->tags)."tags\n";
echo count($coll->games);//error here
Run Code Online (Sandbox Code Playgroud)
并得到错误
关系中有什么问题?
正如你可以在这里看到:http://www.yiiframework.com/doc/guide/1.1/en/database.arr#relational-query-with-through,这种关系的正确的声明将如下所示:
'games'=>array(self::HAS_MANY, 'Game', array('tag_id'=>'id'), 'through'=>'tags')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6474 次 |
| 最近记录: |