1

嘿伙计们,我是 CakePHP 的新手,我在加入两个表时遇到了问题。

$options['joins'] = array(
          array('table' => 'options',
         'alias' => 'Options',
         'type' => 'LEFT',
         'fields' => array('Question.question', 'Options.option'),
         'conditions' => array(
         'Options.question_id = Question.id'))
         );

        $this->set('qq',$this->Question->find('all',$options));

我只得到问题表的字段,而不是选项表的字段。我如何获得选项表的字段?

4

1 回答 1

0

尝试绑定表。

$this->ModelName->bindModel(array
(
    'belongsTo' => array
    (
        'ModelToJoin' => array
        (
            'foreignKey' => false,
            'conditions' => array
            (
                'ModelToJoin.model_name_id = ModelName.id'
            )
        )
    )
));

根据你的情况。

<?php

$this->Question->bindModel(array
(
    'hasMany' => array
    (
        'Options' => array
        (
            'foreignKey' => false,
            'type'       => 'LEFT',
            'conditions' => array
            (
                'Options.question_id = Question.id'
            )
        )
    )
));

$this->Question->find('all',array
(
    'fields' => array('Question.question', 'Options.option')
));

阅读更多

于 2013-01-24T06:50:57.447 回答