Einfügen von mehreren Zeilen in einer Zeit, in YII
Ich haben gegangen durch die http://www.yiiframework.com/doc/guide/1.1/en/form.table
Habe ich nicht verstanden, was das bedeutet:
$items=$this->getItemsToUpdate();
was ist das $this->getItemsToUpdate()
Funktion?
Ich versuche, fügen Sie dynamische Zeilen zu einer Zeit. Ich habe verwendet jquery für die Erstellung der Daten, aber ich weiß nicht, wie legen Sie in der Datenbank.
Das sieht nicht aus wie Javascript. Ich denke, es ist PHP.
InformationsquelleAutor user513814 | 2012-01-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Yii unterstützt das hinzufügen mehrerer Datensätze.
Verwenden Sie dieses....
$alertStatus Arrays enthält alle Felder der Datenbank
Sie können es auf positive Resonanz
InformationsquelleAutor Nitin
Wenn du bist nicht gezwungen, die Arbeit mit Active Records, könnten Sie DAO verwenden, um die Ausführung eine entsprechende SQL-insert-Anweisung für das einfügen von mehreren Zeilen an. Sie finden ein Beispiel für eine solche Aussage hier:
Einfügen von mehreren Datensätzen in MySQL mit einer einzigen Abfrage
Sobald Sie Ihre insert-Anweisung als string (die konstruiert werden können, die dynamisch mithilfe einer Schleife, falls Sie nicht im Voraus wissen, wie viele Zeilen Sie einfügen müssen), führen Sie es wie folgt:
InformationsquelleAutor Epicurus
Ich habe vor dem gleichen Problem.
Soweit ich weiß, Yii nicht Standard-Funktion zum einfügen von mehreren Zeilen an.
Also ich habe eine in
CdbCommand
Klasse (framework/db/CDbCommand.php) :Verwendung:
Update
Als Nabi K. A. Z. erwähnt, es ist wirklich viel besser, nicht zu berühren source-code des Frameworks.
In meinem Projekt habe ich die eigentlich Klasse MyCDbCommand (erweitert CDbCommand) und ich habe MyCDBConnection (erweitert CDbConnection).
MyCDbCommand (Erweiterung CDbCommand):
MyCDBConnection (Erweiterung CDbConnection und mit MyCDbCommand):
Dann hab ich geändert config-Datei (/protected/config/main.php).
Ich habe mich verändert CDbConnection zu MyCDbConnection es:
Und hier gehen Sie. Wir haben es ohne Berührung der core-framework, und Sie können es verwenden die gleiche Weise wie zuvor.
können Sie das konkretisieren?
Mir schlecht, habe nicht bemerkt das param-Bindung in der Schleife.
Dies wirft SQL Fehler, wenn die Anzahl der Spalten ist unterschiedlich, für einige Zeilen.
InformationsquelleAutor Pigalev Pavel
Den obigen code aus Pigalev Pavel war toll.
Aber das müssen die ändern, die core-framework und das ist schlecht!
So, ich Schreibe eine seperate Klasse.
Fügen Sie diesen code in
components
Ordner unterGeneralRepository.php
Datei name.Und Nutzung überall:
InformationsquelleAutor Nabi K.A.Z.