Ich mag gerne wissen, ob es einen Weg gibt, mehrreihige in ZF2 mit nur einem $ SQL-Objekt (und nicht mit der Abfrage (SQL-Befehl) -Methode) einzufügen.ZF2 Einsatz mehrere Zeilen
Ich habe versucht, so etwas wie diese, aber es funktioniert nicht:
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();
}
Der Versuch, mit zwei Spalten Werte in einer Datenbank einzufügen (id_agent, id_projet
)
Es wird keine generische Methode geben, dies zu tun, wenn die Datenbankabstraktion verwendet wird, da mehrere Einfügungen eine MySQL-Funktion und keine Standard-SQL-Einfügeart sind. – Andrew
Danke für die Antwort (Entschuldigung für sehr späte Antwort). Ich fand die bessere Lösung, um mein Problem in diesem Fall zu lösen, ist die Verwendung der zf2 SQL-Transaktionen. – aramir
Ja, nach der Verwendung von zf2 SQL-Transaktionen, müssen Sie 'set' Parameter in Werte übergeben(), wie $ insert -> in ($ this-> tableGateway-> getTable()) -> Werte ($ Werte, 'einstellen') ; – prava