【发布时间】:2015-10-03 04:01:11
【问题描述】:
我有 3 个具有多对多关系的表:
- 用户
- 群组
- 工具
我有 3 个用于关系的数据透视表:
- groups_users
- tools_users
- groups_tools
我正在尝试获取用户 -> 工具和用户 -> 组 -> 工具:
$user = TableRegistry::get('Users')
->find()
->where(['id' => 1])
->contain(['Tools'])
->contain(['Groups.Tools'])
->first();
但我收到一条错误消息:“群组与工具没有关联”
我遵循所有约定,创建了类:
-
GroupsTable,在初始化方法处有如下关系
$this->belongsToMany('Tools'); $this->belongsToMany('Users'); -
ToolsTable,在初始化方法处有如下关系
$this->belongsToMany('Users'); $this->belongsToMany('Groups'); -
UsersTable,在初始化方法中有如下关系
$this->belongsToMany('Tools'); $this->belongsToMany('Groups');
【问题讨论】:
标签: cakephp orm eager-loading