5

我正在尝试执行以下操作:

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

“Company”和“User”模型之间存在“belongsTo”关系。

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

当我尝试以下操作时:

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

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

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

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

kSeudo。

4

2 回答 2

0

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

多谢你们

于 2012-05-19T13:16:54.280 回答
0

为什么不这样替换你原来的声明:

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

这将产生您想要的结果。

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

于 2012-05-07T20:47:13.193 回答