CakePHP 3.x 从实体获取相关数据
Posted
技术标签:
【中文标题】CakePHP 3.x 从实体获取相关数据【英文标题】:CakePHP 3.x getting accosiated data from entity 【发布时间】:2016-03-23 18:33:37 【问题描述】:我开始使用 Cakephp 3.x 并且想知道如何以正确的方式实现这些功能?
$articles = $userEntity->getAccosiatedArticles()
【问题讨论】:
【参考方案1】:只需使用contain 来检索关联数据。
$articles = $userEntity->find('all',[
'contain'=>['Articles']
]);
为此,您必须在用户模型中声明has_many(在这种情况下)关联。
$this->hasMany('Articles');
【讨论】:
【参考方案2】:正确的方法是使用$usersTable->loadInto($userEntity, ['Articles'])
。你也可以使用惰性加载器插件:https://github.com/jeremyharris/cakephp-lazyload
【讨论】:
以上是关于CakePHP 3.x 从实体获取相关数据的主要内容,如果未能解决你的问题,请参考以下文章
CAKEPHP 3.x - 实体更新时出错 - 即使有值,也会声明缺少字段
CakePHP Master/Detail 表单 - 简单问题
CakePhp : Cake bake 在 Ubuntu 上不起作用。 (PDO异常)