Nilai senarai lungsur Yii2 tidak disimpan ke pangkalan data
P粉182218860
P粉182218860 2023-09-12 12:44:28
0
1
726

Saya mencipta model yang dipanggil AssignForm:

<?php

namespace app\models;

use yii\db\ActiveRecord;

class AssignForm extends ActiveRecord
{
public $username;
public $organ_name;
public $role;

}

Kemudian fungsi saya dalam 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]);

    }

Saya juga mempunyai fail bernama assign.phpview:

<?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(); ?>

Ini memaparkan maklumat yang betul tetapi tidak disimpan ke pangkalan data. Tetapi apabila saya menggunakan kod di bawah dalam actionAssign ia berfungsi dengan baik:

Yii::$app->db->createCommand()
                ->update('users', ['post' => 'ssss'], "username = 'soghra' ")
                ->execute();

Tetapi saya ingin menulis menggunakan maklumat pangkalan data. Bagaimana untuk menambah pangkalan data secara dinamik?

P粉182218860
P粉182218860

membalas semua(1)
P粉729518806

Tiada masalah teknikal dengannya... Saya hanya melepasi parameter yang salah (username而不是id). Maaf tentang itu.

Seperti yang ditunjukkan di bawah:

Yii::$app->db->createCommand()
            ->update('users', ['post' => 'ssss'], "id = 'soghra' ")
            ->execute();

Semoga ia membantu anda.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan