这是我的表关联代码:
class UserMastersTable extends Table {
public function initialize(array $config) {
parent::initialize($config);
$this->table('user_masters');
$this->hasOne('person_masters', [
'className' => 'person_masters',
'foreign_key'=>'user_master_id',
'dependent' => true
]);
}
}
在控制器中时,我正在使用:
$ this-> UserMasters-> get($ id);
它仅产生user_masters表数据。
那么我如何也可以获取关联表数据?
最佳答案
使用contain()
从手册中复制粘贴:
要加载主要模型时,应使用contain(),并且
其相关数据。虽然contain()将让您应用其他
加载的关联的条件,您不能约束
基于关联的主要模型。有关的更多详细信息
contains(),查看“热切加载关联”。
// In a controller or table method.
// As an option to find()
$query = $articles->find('all', ['contain' => ['Authors', 'Comments']]);
// As a method on the query object
$query = $articles->find('all');
$query->contain(['Authors', 'Comments']);
Read the manual,然后进入尝试和错误驱动的开发!如果您之前已经完成了手册中的教程之一,那么这将是很清楚的。现在也是如此,它们将涵盖更多的基础知识。