2014-02-23 81 views
2
<code> 
$resultSet = $this->tableGateway->select (function ($select) { 
$select->columns ( 
     array (
     'id', 
     'category_name' 
)); 

}); zf2 tablegateway按列名選擇列

嘗試使用上面的代碼,但它返回所有列,下面是返回的輸出。我需要從數據庫

Category\Model\Category Object ( [id] => 2 [category_name] => Cat Two [category_created] => [category_status] => [inputFilter:protected] => ) Category\Model\Category Object ( [id] => 4 [category_name] => Cat one [category_created] => [category_status] => [inputFilter:protected] => )

+0

是什麼問題?你告訴網關只選擇'id'和'category_name',網關只填充這兩個字段。那麼你的問題究竟是什麼,你想做什麼? – Sam

+0

這裏我想檢索只有id和category_name,但爲什麼類別狀態和category_created來... –

+1

因爲你告訴你的'TableGateway'返回一個'類別'對象。然而,那些類別對象在所有其他字段上沒有DATE,除了你想要的字段。所以我真的不知道你的問題是什麼。 – Sam

回答

0

我有這個問題,選擇ID和CATEGORY_NAME。我認爲這可能是因爲函數在第一個select函數中被忽略,它只是返回所有內容。我找到了一種方法來得到這個工作,嘗試像下面的內容:

使用選擇類隨着tablegateway的selectWith功能:

use Zend\Db\Sql\Select as Select; 

$select = new Select(); 
$select->from('table'); 
$select->columns(array('id','category_name')); 

$resultSet = $this->tableGateway->selectWith($select);