cakephp:如何从非关联模型中检索数据?

时间:2013-10-03 07:15:14

标签: cakephp-2.3

我有三种型号是User,Equipment,FaultReport

用户表:

   id name 

   1    XXXXX 
   2    YYYYYY

设备表

 id name    
 1   Acer
 2   Fujitsu 

故障报告表:

 id   equipment_id  user_id  comment
   1      1              1       good
   2      1              1     Under repair
   3      3              2     condemned 

我使用设备模型使用hasMnay关系搜索设备详细信息和设备故障报告。但是如何获取用户名(谁提交了故障报告)。 FaultReport和User模型使用belongsTo关联。但是设备模型与用户模型无关。那么当我使用Equipment Model搜索[ $this->Equipment->find('all') ]

时,如何检索与faultreport模型关联的用户名?

请告诉我

1 个答案:

答案 0 :(得分:0)

从更深层次的关联模型中获取数据的最佳方法是使用Containable Behavior。在AppModel中启用它:

class AppModel extends Model {
    public $actsAs = array('Containable');
}

现在,在执行查询之前,您可以设置要提取的关联数据:

$this->Equipment->contain(array('FaultReport' => array('User')));
$equipment = $this->Equipment->find('all');

此代码可让您获取所需的所有数据。

这只是一个基本的例子。阅读文档,了解如何仅提取特定字段或在查询中包含条件。