0

私のデータベース テーブルにstatusは、0 または 1 の列があります。最小限の mysql リクエストでこのフィールドを切り替える必要があるアクションを作成しています。だから私が設定したいアクションで

$model->attributes['status'] = '1 - ステータス';

そしてモデルを更新します。Aperantlyこれは機能しませんが、追加のdbリクエストなしで現在の値を使用してdbフィールドを更新し、フィールド値を切り替えるオプションを知っている人はいますか。

動作する結果クエリは

UPDATE 'users' AS 'User' SET 'User'.'status' = 1 -'User'.'status' WHERE 'User'.'id' = 1

4

2 に答える 2

0

変更したいフィールドの pk があると仮定します (そのためのモデルを作成したくないため)

$command = Yii::app()->db->createCommand();

// 次の SQL を作成して実行します。

// UPDATE tbl_userSET name=:name WHERE id=:id

$command->update('tbl_user', array(
'name'=>'Tester',

), 'id=:id', array(':id'=>1));

http://www.yiiframework.com/doc/guide/1.1/en/database.query-builder#building-data-manipulation-queries

于 2013-09-23T13:12:50.337 に答える
0
$model->status= 1 - $model->status;

$model->save();
于 2013-09-23T10:25:20.537 に答える