假设我有 3 个模型。
- 用户(系统的用户)
- 申请人(有关每个用户的更多详细信息,例如地址、电话、兴趣位置等)
- 职位(在申请表中,我只将感兴趣的职位存储为 position_id,这是职位描述的位置)
这是我的模型 php 文件。
class User extends AppModel {
public $hasOne = 'Applicant';
}
class Applicant extends AppModel {
public $belongsTo = array('User', 'Position');
}
class Position extends AppModel {
public $hasMany = 'Applicant';
}
这是我的 UsersController.php
class UsersController extedns AppController {
public function index() {
$this->User->find('all');
{
}
执行 /users/index 时,我在 SQL 转储中得到如下 SQL 语句。
select *
from users
left outer join applicants
on users.id = applicants.user_id
但这就是我需要的。
select *
from users
left outer join applicants
on users.id = applicants.user_id
left outer join positions
on positions.id = applicants.position_id
那么在 CakePHP 中要做什么才能得到这种结果。
谢谢大家。