2013-01-24 53 views
1

嘿,我是CakePHP的新手,我在加入两个表时遇到问题。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)); 

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

回答

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') 
));

Read More On

+0

我添加型后这一行=左... '字段'=>数组( 'Question.question,Options.option'),其 显示我的所有问题的领域表。我只想从问题表中的问题列.. – Vicky

+0

看到更新的答案,您需要定义字段查找查询.. –

+0

是的..谢谢我明白了...... – Vicky