【问题标题】:cakephp: how to retrive data from non assiciated model?cakephp:如何从非关联模型中检索数据?
【发布时间】:2013-10-03 07:15:14
【问题描述】:

我有三个模型是用户,设备,故障报告

用户表:

   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 关联。但是设备模型与用户模型无关。那么当我使用设备模型搜索[ $this->Equipment->find('all') ]时如何检索与故障报告模型关联的用户名@

请多多指教

【问题讨论】:

    标签: cakephp-2.3


    【解决方案1】:

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

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

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

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

    此代码将允许您获取所需的所有数据。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多