我创建了一个名为AssignForm的模型:
然后我在
SiteController中添加了一个名为actionAssign的函数:public function actionAssign(){ $model = new AssignForm(); if($model->load(Yii::$app->request->post()) && $model->validate()){ Yii::$app->db->createCommand() ->update('users', ['post' => $model->post], "username = '$model->username' ") ->execute(); } return $this->render('assign',['model' => $model]); }我还有一个名为
assign.php的view文件:field($model, 'username')->dropDownList(\yii\helpers\ArrayHelper::map(\app\models\Users::find()->all(),'id','username'), [ 'prompt' => 'Select User!!' ]); echo $form->field($model, 'role')->dropDownList(['0' => 'employee', '1' => 'responsible'],['prompt'=>'Select Option']); ?>= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>这显示了正确的信息,但不会保存到数据库。但是当我在
actionAssign中使用下面的代码时,它正常工作:Yii::$app->db->createCommand() ->update('users', ['post' => 'ssss'], "username = 'soghra' ") ->execute();但我想要使用数据库信息来编写。如何动态添加到数据库?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
它没有任何技术问题...我只是传递了错误的参数(
username而不是id)。 对此表示抱歉。如下所示:
Yii::$app->db->createCommand() ->update('users', ['post' => 'ssss'], "id = 'soghra' ") ->execute();希望对你有帮助。