CakePHP跨多个数据源查找查询

时间:2012-05-07 13:38:29

标签: cakephp orm

我想做以下事情:

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

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

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

当我尝试以下操作时:

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

我收到一条消息,说它无法找到users表(它在默认源中查找): 错误:在数据源默认中找不到模型用户的表user_groups。

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

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

kSeudo。

2 个答案:

答案 0 :(得分:0)

为什么不用这个替换原来的陈述:

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

这将产生您想要的结果。

否则,如果你想要更整洁的东西,可以在实现类似逻辑的fetch_users()类中添加Company函数。

答案 1 :(得分:0)


好的,问题解决了。一旦我在模型中正确设置了数据源,一切似乎都能正常工作。

谢谢你们