1

こんにちは、私は CakePHP が初めてで、2 つのテーブルを結合する際に問題が発生しています。

$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 に答える