Я хотел бы знать, есть ли способ вставить несколько строк в ZF2, используя только один объект $ sql (и не используя метод SQL COMMAND).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 -> in ($ this-> tableGateway-> getTable()) -> values ($ values, 'задавать') ; – prava