6
我想知道是否有一種方法只使用一個$ sql對象(而不使用查詢(SQL COMMAND)方法)在ZF2中插入多行。ZF2插入多行
我想這樣的事情,但它不工作:
public function setAgentProjectLink($IDProject , $IDsAgents)
{
$values = array() ;
foreach ($IDsAgents as $IDAgent):
{
$values[] = array ('id_agent' => $IDAgent , 'id_projet' => $IDProject) ;
} endforeach ;
$sql = new Sql($this->tableGateway->adapter) ;
$insert = $sql->insert() ;
$insert -> into ($this->tableGateway->getTable())
-> values ($values) ;
$statement = $sql->prepareStatementForSqlObject($insert);
$result = $statement->execute();
}
試圖插入數據庫中的值有兩列(id_agent, id_projet
)
由於多個插入是MySQL功能,而不是標準的SQL插入類型,所以不會有使用數據庫抽象的通用方法。 – Andrew
感謝您的回覆(抱歉,非常遲到的答案)。我發現在這種情況下解決我的問題的更好的解決方案是使用zf2 sql事務。 – aramir
是的,在使用zf2 sql事務後,您必須在值()中傳入'set'參數,如 $ insert - > into($ this-> tableGateway-> getTable()) - > values($ values, 'set'); – prava