2012-05-16 80 views
0

我想減少cakephp的find('all')返回的字段數量,但不知道這是否可能。限制cakephp查詢中的選定列

$ this-> Group-> find('all',$ params);

其中$ PARAMS

$params = array(
     'conditions' => array(    
      'Group.featured' => 1, 
      ), 
     'contain' => array(
       'User', 
       'Class' => array(
       'conditions' => array(
        'Class.exp IS NOT NULL', 
        'Class.tb <20', 
              ) 
       ) 
      ) 
    )); 

的問題是,我的班表有我不需要那需要很長的時間來加載多列,所以我會排隊,只選擇5個字段。 這可以在Cakephp中完成,還是我最好寫一個常規查詢?

$params = array(
     'conditions' => array(    
      'Group.featured' => 1, 
      ), 
     'contain' => array(
       'User', 
       'Class.a', 
       'Class.b', 
       'Class.exp', 
       'Class.tb', 
       'Class' => array(
       'conditions' => array(
        'Class.exp IS NOT NULL', 
        'Class.tb <20', 
              ) 
       ) 
      ) 
    )); 

謝謝

回答

1

這是什麼fields parameter是。

$params = array(
    ... 
    'contain' => array(
     'Class' => array(
      'conditions' => array(
       'Class.exp IS NOT NULL', 
       'Class.tb <20', 
      ), 
      'fields' => array('a', 'b') 
     ) 
    ) 
);