我想减少cakephp的find('all')返回的字段数,但不知道这是否可行。
$ 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',
)
)
)
));
问题是我的Class表有很多我不需要的列,需要很长时间才能加载,所以我只想选择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',
)
)
)
));
谢谢
答案 0 :(得分:1)
这就是fields
parameter的用途。
$params = array(
...
'contain' => array(
'Class' => array(
'conditions' => array(
'Class.exp IS NOT NULL',
'Class.tb <20',
),
'fields' => array('a', 'b')
)
)
);