Ich habe mal einen MySQL Proxy zwischen Yii und meiner Datenbank geschaltet und dabei festgestellt dass das Model immer alle Attribute in der Datenbank updated - auch ungeänderte. Wollte mal fragen ob man das Verhalten (auf einfache Weise) ändern kann?
Beispiel
Eine Tabelle enthält folgende Spalten:
-
name
-
password
-
email
-
privileges
Datensatz: (‘Testuser’, ‘Password’, ‘sag@ich.net’, 0)
Jetzt will ich zum Beispiel die Privilegien ändern:
[PHP]
$model = User::model()->findByPk(1);
$model->privileges = User: _ADMIN;
$model->save();
[/PHP]
Der Proxy zeigt jetzt folgende Ausgabe:
[SQL]UPDATE User
SET name
= ‘Testuser’, password
= ‘Password’, email
= ‘sag@ich.net’, privileges
= 1 WHERE id
= 1;[/SQL]
Ich will aber (aus Performancegründen) das einfach nur die entsprechende Spalte aktualisiert wird also:
[SQL]UPDATE User
SET privileges
= 1 WHERE id
= 1[/SQL]
Wie stell ich das am besten an? Mit direktem SQL Code? (Würde gerne alles mit AR machen).
Danke schonmal