La valeur de la liste déroulante Yii2 n'est pas conservée dans la base de données
P粉182218860
P粉182218860 2023-09-12 12:44:28
0
1
559

J'ai créé un modèle appeléAssignForm:


      

Puis ma fonction dansSiteController中添加了一个名为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]); }

J'ai aussi un fichier appeléassign.phpview:

  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']); ?> 
'btn btn-primary']) ?>

Cela affiche les informations correctes mais ne les enregistre pas dans la base de données. Mais quand j'utilise le code ci-dessous dansactionAssign, cela fonctionne bien :

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

Mais je veux écrire en utilisant les informations de la base de données. Comment ajouter dynamiquement à la base de données ?

P粉182218860
P粉182218860

répondre à tous (1)
P粉729518806

Il n'y a aucun problème technique avec ça... Je passe juste les mauvais paramètres (username而不是id). Désolé pour ça.

Comme indiqué ci-dessous :

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

J'espère que cela vous aidera.

    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!