Yii2 下拉列表不保存到数据库
Yii2 Drop Down List Not Saving To Database
我制作了一个模型 AssignForm
作为 :
<?php
namespace app\models;
use yii\db\ActiveRecord;
class AssignForm extends ActiveRecord
{
public $username;
public $organ_name;
public $role;
}
并且我在 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]);
}
作为 view
我有 assign.php
文件 :
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
?>
<?php $form = ActiveForm::begin(); ?>
<?php
echo $form->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']);
?>
<div class="form-group">
<?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
显示当前信息,但未保存到数据库。但是当我在 actionAssign
中使用下面的代码时,它工作正常:
Yii::$app->db->createCommand()
->update('users', ['post' => 'ssss'], "username = 'soghra' ")
->execute();
但是我想用数据库信息来写。
如何动态添加到数据库?
它没有任何技术问题..我只是传递了错误的参数(username
而不是 id
)。
抱歉打扰了。
如下:
Yii::$app->db->createCommand()
->update('users', ['post' => 'ssss'], "id = 'soghra' ")
->execute();
希望这会有所帮助
我制作了一个模型 AssignForm
作为 :
<?php
namespace app\models;
use yii\db\ActiveRecord;
class AssignForm extends ActiveRecord
{
public $username;
public $organ_name;
public $role;
}
并且我在 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]);
}
作为 view
我有 assign.php
文件 :
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
?>
<?php $form = ActiveForm::begin(); ?>
<?php
echo $form->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']);
?>
<div class="form-group">
<?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
显示当前信息,但未保存到数据库。但是当我在 actionAssign
中使用下面的代码时,它工作正常:
Yii::$app->db->createCommand()
->update('users', ['post' => 'ssss'], "username = 'soghra' ")
->execute();
但是我想用数据库信息来写。 如何动态添加到数据库?
它没有任何技术问题..我只是传递了错误的参数(username
而不是 id
)。
抱歉打扰了。
如下:
Yii::$app->db->createCommand()
->update('users', ['post' => 'ssss'], "id = 'soghra' ")
->execute();
希望这会有所帮助