2017-02-17 6 views
0

小さな仕事が1つありますが、私の行動にどこにエラーがあるのか​​分かりません。私はPostgreSQLでYii2 2.0.10を使用していますので、いくつかのActiveRecordモデルを更新し、モデルのステータスを変更する必要があります。私はこのコードを書いた:私の行動のどこにエラーがありますか?

public function actionActivate() 
{ 
    $connection = \Yii::$app->db; 
    $ids= implode(',',\Yii::$app->request->post('ids')); 
    $whereCondition = " id in ({$ids})"; 

    $result = $connection->createCommand() 
          ->update('{{%user}}',['{{%user}}.status'=>USER::STATUS_ACTIVE],[$whereCondition]) 
          ->execute(); 
    echo $result; 
} 

をしかし、私はクエリを実行しようとすると、私はこのエラーがあります:

>Exception 'yii\base\InvalidParamException' with message 'Operator ' ID IN (1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245)' requires two operands.' 

私が間違っているのは何を?あなたはそれを簡単に行うことができます

答えて

0

public function actionActivate() 
{ 
    echo \Yii::$app->db->createCommand()->update(
     '{{%user}}', 
     ['status' => USER::STATUS_ACTIVE], 
     ['id' => \Yii::$app->request->post('ids')] 
    )->execute(); 
} 
+0

は、それがその後、解決として –

+0

がそれをマーク作品です、ありがとうございました。 – Bizley

関連する問題