2016-06-09 56 views
0

如何使用tablegateway我綁定參數Zend框架2,這裏是我使用我怎樣才能在ZF2 tablegateway綁定參數

$adapter  = $this->tableGateway->getAdapter(); 
$result  = $adapter->query(
       "SELECT * " 
      . "FROM TABLE " 
      . "WHERE SOME_ID = $SOME " 
      . "AND STATUS = 1 "   
); 
$dataSource = $result->execute();   
$statement = $dataSource->getResource(); 
$result  = $statement->fetchAll(\PDO::FETCH_OBJ); 

請建議我一個安全的查詢生成器代碼

回答

1

你的代碼試圖在Adapter中綁定參數而不是在TableGateway中。
它可以在許多方式進行,但如您發佈

$id = 123; 
$res = $adapter->query(
    "SELECT * FROM TABLE WHERE SOME_ID = ? AND STATUS = 1", [$id] 
); 
var_dump($res->current()); 

還有第二個參數的函數查詢()這是

@param string|array|ParameterContainer $parametersOrQueryMode 

,這樣可以起到一點與此選項...還檢查功能Zend\Db\Adapter\Adapter::query();


更簡單的方法是使用Tabl eGateway:

$res = $this->tableGateway->select(['SOME_ID' => $id]); 
$res->current(); // than you can use also toArray(), current(), etc. 
+0

謝謝tasmaniski爲您提供寶貴的答案 –