2011-01-20 59 views

回答

2

使用find PARAMS設置你想要的字段:

$this->find('all', array(
    'conditions' => array(), //array of conditions 
    'fields' => array('field1', 'field2') //array of field names 
)); 

http://book.cakephp.org/2.0/en/models/retrieving-your-data.html

正如我在評論中指出,檢索相關的模型數據時,蛋糕使用ID來獲取相關數據外表。如果你仔細想想,CakePHP會怎麼做呢?

如果你真的必須刪除ID列,您可以查找通話後也這樣做:

$data = $this->Model->find('first', array(
    'conditions' => array(), //array of conditions 
)); 
unset($data['Model']['id']); 
+0

我現在用的是'fields'陣列,但它仍然是添加'id'領域。 ..我試圖在該字段上使用別名,它添加了別名,但它也添加了「id」字段。 – linkyndy

+1

您是否在檢索相關數據? (hasOne,hasMany等)如果你是,那麼cake *必須*檢索id列來找出關聯。 – Stephen

+0

是的,我正在檢索相關數據。那麼,是不是有機會擺脫那個'id'? – linkyndy