CakePHP跨多个数据源查找查询

kSe*_*udo 5 orm cakephp

我想做以下事情:

  • 我的"公司"模型存储在"默认"数据源中.在模型中我设置了var $ useDbConfig ='default';
  • 我的"用户"模型存储在另一个名为"users_db"的数据源中.在这个模型中,我设置了var $ useDbConfig ='users_db';

'公司'和'用户'模型之间存在'belongsTo'关系.

我想做一个递归查找查询,一次性收回每个公司的所有用户.我觉得我不能像目前那样用Cake做到这一点.

当我尝试以下内容时:

$res2 = $this->Company->find('all', array(
                'conditions' => array('Company.id' => 1),
                'recursive'=>2
            ));
Run Code Online (Sandbox Code Playgroud)

我收到一条消息,它找不到用户表(它在默认源中查找):错误:表user_groups for model User未在数据源默认中找到.

有什么方法可以做到这一点吗?

非常感谢您提供的任何帮助......

kSeudo.

Ann*_*bel 0

为什么不将原来的语句替换为:

$this->loadModel('User');
$res2 = $this->User->find('all', 
                array( 'conditions' => array( 'User.company_id' => 1 ) ));
Run Code Online (Sandbox Code Playgroud)

这将产生您想要的结果。

否则,如果您想要更简洁的东西,您可以fetch_users()向您的Company类添加一个实现类似逻辑的函数。