这是我的表关联代码:
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
]);
}
}
当我在控制器中使用时: $这个 - > UserMasters->获得($ ID); 它只产生user_masters表数据.. 那我怎么能得到关联表数据?
答案 0 :(得分:2)
手册中的复制粘贴:
如果要加载主模型,则应使用contains() 其相关数据。虽然contains()会让你额外申请 加载关联的条件,你不能约束 基于关联的主要模型。有关详细信息 包含(),查看Eager Loading Associations。
// 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在进入试用版和错误驱动开发之前!如果您在此之前已经完成了其中一个教程,那么这一点就很清楚了。所以现在就做,他们将涵盖更多基础知识。