Yii PHP Fehler: Indirect modification of overloaded property Klasse::attribut has no effect

Der Fehler kann zunächst erscheinen, weil keine __set()-Methode existiert. Stackoverflow kann helfen – muss es aber nicht allein. Mir ist es im Yii Projekt passiert. Hatte eine findAllBySql()-Funktion ein Model Array zurück geben lassen und falsch auf eins der Arrays zugegriffen.

Fehlercode

Indirect modification of overloaded property … has no effect

Ich hatte den Code: $model->datenArray[$x]->attributes[‚link‘] = ‚/neuer/foo/link/‘;

Fatal in Yii! Der Fehler kam zu Stande durch meine vorherigen echo-Zeilen in denen die ->attributes Methode zum Ziel führte. Hier gehts aber darum den Wert neu zu setzen und nicht ihn auszugeben.

Lösung

$model->datenArray[$x]->link = ‚/neuer/foo/link/‘;
$model->save();

Done. 😀

Advertisements

Kommentare

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s