在cakephp3递归?

时间:2015-10-08 12:32:05

标签: mysql cakephp orm associations

这是我的表关联代码:

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表数据.. 那我怎么能得到关联表数据?

1 个答案:

答案 0 :(得分:2)

使用contains()

手册中的复制粘贴:

  

如果要加载主模型,则应使用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在进入试用版和错误驱动开发之前!如果您在此之前已经完成了其中一个教程,那么这一点就很清楚了。所以现在就做,他们将涵盖更多基础知识。