2013-03-06 122 views
4

你好有什麼辦法在zf2上使用zf1風格在數據庫表中插入數據?;風格

$db->insert('tablename', $data); 

其中$data是一個關聯數組包含(

感謝

+0

您遇到的問題是什麼? – Shaolin 2013-03-07 05:49:54

回答

13

爲了使插入在ZF2:

use Zend\Db\Sql\Sql; 

    $sql = new Sql($this->dbAdapter); 
    $insert = $sql->insert('table'); 
    $newData = array(
    'col1'=> 'val1', 
    'col2'=> 'val2', 
    'col3'=> 'val3' 
    ); 
    $insert->values($newData); 
    $selectString = $sql->getSqlStringForSqlObject($insert); 
    $results = $this->dbAdapter->query($selectString, Adapter::QUERY_MODE_EXECUTE); 
+1

getSqlStringForSqlObject()在2.4 – 2016-05-26 13:34:28

+0

中已棄用,那麼現在正確的方法是什麼? – Luis 2016-05-28 17:20:49

+1

在這種情況下,buildSqlString()應該處理相同的內容。 – 2016-06-07 10:18:18

4

我使用TableGateway命題:

$adapter = $this->tableGateway->getAdapter(); 
    $otherTable = new Zend\Db\TableGateway\TableGateway('table_name', $adapter); 
    $otherTable->insert($data)); 
+0

致命錯誤:Interface'Zend \ EventManager \ EventsCapableInterface'not found ..似乎這需要另一個模塊? – lony 2015-07-14 13:30:28

+1

我只有這種方式,但我很驚訝它爲什麼這麼做兩個條目? $ otherTable = new Zend \ Db \ TableGateway \ TableGateway('demo',\ Config \ Config :: getAdapter()); $ otherTable-> insert(['name'=> 500]); – 2016-03-31 17:58:31