首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cakephp-3.0从别名插件实体获取表对象

cakephp-3.0从别名插件实体获取表对象
EN

Stack Overflow用户
提问于 2015-08-06 06:56:09
回答 1查看 1K关注 0票数 0

我有一个实体的实例,我需要得到它的表

我做了以下工作,而且大多数情况下都很好:

代码语言:javascript
复制
$className =  $entity->source();
$entityTable = TableRegistry::get($className);

这个问题出现在别名插件实体上:假设我有一个Users插件和一个Group模型,其中包含了这种关系

代码语言:javascript
复制
//plugins/Users/src/Model/Table/GroupsTable

$this->belongsTo('Parents', [
    'className' => 'Users.Groups',
    'foreignKey' => 'parent_id'
]);

在一个控制器里,我正在做这样的事情:

代码语言:javascript
复制
$groupsTable = TableRegistry::get('Users.Groups');
$group = $groupsTable->get($some_id, ['contain' => 'Parents']);
$className =  $group->parent->source();

现在$className包含'Parents',而我期望'Users.Parents'

如何使类名以插件名为前缀?我试过$this->belongsTo('Users.Parents', ...),但似乎不起作用

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-06 08:26:25

我认为这是一个可能的错误,因为这是不一致的行为,让Entity::source()返回注册表别名以外的任何内容似乎都不太有用。

它发生在\Cake\ORM\ResultSet::_groupResult()中,在那里它使用表别名而不是注册表别名,而且似乎没有什么可以做的。

report this over at GitHub

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31848771

复制
相关文章

相似问题

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