首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CakePHP 3-嵌套的紧急加载错误

CakePHP 3-嵌套的紧急加载错误
EN

Stack Overflow用户
提问于 2015-07-14 13:23:25
回答 1查看 161关注 0票数 0

我有三张桌子,有很多到很多的关系:

  • 用户
  • 群组
  • 工具

我有三个关系的枢轴表:

  • groups_users
  • tools_users
  • groups_tools

我正在尝试获取用户->工具和用户-> Group -> Tools:

代码语言:javascript
复制
$user = TableRegistry::get('Users')
                        ->find()
                        ->where(['id' => 1])
                        ->contain(['Tools'])
                        ->contain(['Groups.Tools'])
                        ->first();

但是我得到了一个错误:“组与工具无关”

我遵循了所有的约定,我创建了类:

  • GroupsTable,在初始化器方法中使用以下关系 $this->归属Tools(‘Tools’);$this->归属Tools(‘用户’);
  • ToolsTable,在初始化器方法中使用以下关系 $this->归属this(‘用户’);$this->归属this(‘组’);
  • UsersTable,在初始化器方法中使用以下关系 $this->归属Tools(‘Tools’);$this->归属Tools(‘Groups’);
EN

回答 1

Stack Overflow用户

发布于 2015-07-14 13:51:49

问题的出现是因为我创建了一个插件,然后这些类在plugins文件夹中。

然后,您需要更改表关系以包含名称空间插件:

GroupsTable,在初始化器方法中使用以下关系

代码语言:javascript
复制
$this->belongsToMany('YourPluginName.Tools');
$this->belongsToMany('YourPluginName.Users');

ToolsTable,在初始化器方法中使用以下关系

代码语言:javascript
复制
$this->belongsToMany('YourPluginName.Users');
$this->belongsToMany('YourPluginName.Groups');

UsersTable,在初始化器方法中使用以下关系

代码语言:javascript
复制
$this->belongsToMany('YourPluginName.Tools');
$this->belongsToMany('YourPluginName.Groups');
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31407934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档