CakePHP从另一个表中获取数据吗?

时间:2014-07-24 10:54:42

标签: php cakephp

是的,所以我的数据以下列方式返回,

  (int) 0 => array(
    'MODEL-XX' => array(
        //DATA HERE
        'xxs_id' => '11',
        'aas_id' => '44',
        'vvs_id' => '2'
    ),
    'xxs' => array(
        'id' => '11',
        'customername' => 'XX name here'
    ),
    'aas' => array(
        'id' => '44',
        'clientname' => 'aa name here',
        'xxs_id' => '11'
    ),
    'vvs' => array(
        'id' => '2',
        'start' => '1405296000',
        'end' => '1405814400',
        'users_id' => '1'
    )

这很好用,但我想知道如何将我的users表链接到这个模型。因此,我的VV模型的每个用户的详细信息将成为数据的一部分。我的MODEL-XX与我的用户表没有任何链接,所以我需要在用户详细信息中调用的地方是我的VV模型。

我一直在研究这个问题,但一直没能找到一个简单易行的方法吗?

我认为这对我的模型来说是可行的,所以我打开了我的XX模型并在我的$ belongsTo'中添加了以下内容。部分,

    'Users' => array(
        'className' => 'Users',
        'foreignKey' => 'vvs.users_id',
        'conditions' => '',
        'fields' => '',
        'order' => ''
    )

那么有一种简单的方法来链接这样的数据吗?

请给我时间,如果我没有正确解释自己的数据,请告诉我,让我更好地解决或解释。

谢谢,

1 个答案:

答案 0 :(得分:1)

将你的背诵设置得更高:

$this->MODEL-XX->recursive = 1; //or 2

或者这应该是您首选的方式,开始使用可包含的行为: http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html

在你的appModel中:

public $actsAs = array('Containable');

然后试试这个:

$this->MODEL-XX->recursive = -1;

$data = $this-MODEL-XX>find(
        'all', array(
            'conditions' => $conditions,
            'contain' => array('xxs', 'aas', 'vvs', 'user')
        )
    );

我可能会' vvs.user'但我忘记了用于更深层次模型的内容