CakePHP 3“包含”不检索“属于”
Posted
技术标签:
【中文标题】CakePHP 3“包含”不检索“属于”【英文标题】:CakePHP3 'contain' doesn't retrieve 'belongsTo' 【发布时间】:2021-12-27 22:47:02 【问题描述】:一个用户有多个产品。每个产品都有一个品牌。
在产品表中,我有一个“brand_id”列。
目前我做debug($user)
时没有加入。
我想加入品牌和产品表 (product.brand_id = brand.id)
。我该如何解决这个问题?
(对不起我的英语)
//Controller Users
$users = TableRegistry::getTableLocator()->get('users');
$user = $users->find('all')
->contain(['Products' => ['conditions' => ['id' => 25]]])
->first();
debug($user);
//Model Users
public function initialize(array $config)
$this->hasMany('products');
//model Products
public function initialize(array $config)
$this->belongsTo('brands');
【问题讨论】:
【参考方案1】:简单:
->contain([
'Products' => ['conditions' => ['id' => 25]],
'Products.Brands', // Add product brands
])
阅读更多:https://book.cakephp.org/4/en/orm/query-builder.html#loading-associations
【讨论】:
以上是关于CakePHP 3“包含”不检索“属于”的主要内容,如果未能解决你的问题,请参考以下文章
Cakephp 3 - 使用_joinData属于ToMany
CakePHP - 关系问题 - Posts.Child 属于用户,如何定义?