2013-01-24 84 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