yii
(jammi )
November 4, 2009, 9:09pm
1
Hallo,
und zwar durchlaufe ich grad ein Array und versuche M:N Tabelle mit Werten zu speichern, jedoch wird immer nur der erste Wert in der Tabelle gespeichert, der Rest wird ignoriert.
updateAll und deleteAll habe ich gefunden, jedoch kein saveAll…
foreach( $x as $la )
{
$mTOn->croatianID = $la['id'];
$mTOn->croatian_sentencesID = $so->id;
$mTOn->save();
}
$mTOn->save();
$mTOn = new $mTOn;
Wenn ich nach der
$mTOn->save $mTOn noch einmal neu initialisiere, dann klappt das wunderbar. Ich meine gelesen zuhaben, das es bei save() eine Besonderheit gibt.
mbi
(mbi)
November 4, 2009, 9:46pm
2
foreach( $x as $la )
{
$mTOn = new mTOn;
$mTOn->croatianID = $la['id'];
$mTOn->croatian_sentencesID = $so->id;
$mTOn->save();
}
Das sollte doch gehn, oder nicht?
yii
(jammi )
November 4, 2009, 9:47pm
3
nein, der speichert nur den ersten Wert
yii
(jammi )
November 4, 2009, 10:41pm
5
nada
nur meine unschöne Lösung hilft
mbi
(mbi)
November 4, 2009, 11:30pm
6
public function actionTest() {
$userId = Yii::app()->user->id;
$locations = array(1,2,3,4,5,6);
for ($i = 0; $i < count($locations); $i++) {
$commendation = new Commendation;
$commendation->userId = $userId;
$commendation->locationId = $locations[$i];
$commendation->save();
}
var_dump(Commendation::model()->findAll());
}
läuft bei mir ohne Beanstandung.
Wie siehts aus mit etwaigen duplicate Keys?