0
votes

Laravel - Comment stocker des données à partir de champ de forme dynamique?

Je veux stocker des données à partir du champ de formulaire dynamique.

Et ceci est mon code:

mon contrôleur: xxx

et j'utilise des noms comme l'exercice [] pour le formulaire.

et le résultat de mon code est: xxx


3 commentaires

Pourquoi utilisez-vous? Vous attendez-vous au tableau de votre demande?


Oui, j'ai une forme, où ce formulaire peut ajouter plus de champs. Donc, j'ai une forme pour plusieurs rangées dans une table.


Pouvez-vous ajouter du code de votre formulaire?


4 Réponses :


0
votes

Si vous êtes en boucle sur $ entrées , vous essayez essentiellement de créer une question de la question pour chaque entrée de formulaire ... Ne faites pas ça. Débarrassez-vous du foreach () et accédez aux entrées correctement: xxx


0 commentaires

0
votes

J'ai mis à jour mon code, ici, je peux obtenir toutes les valeurs. Mais il semble que ceci: xxx

mon nouveau contrôleur: xxx

mon nouveau formulaire: xxx

et merci à tous ceux qui ont essayé de m'aider, mais j'ai besoin de plus d'aide pour celui-ci ...


0 commentaires

0
votes

Comme @tim Lewis a dit: "Vous essayez de créer un enregistrement de questions pour chaque entrée de formulaire", Une autre façon, vous pouvez transmettre toutes les entrées dans la méthode code> Créer code> pour insérer un nouvel enregistrement de question à la base de données

public function CreateQuestion(Request $request)
{
    $this->validate($request, [
        'exercise' => 'required',
        'question' => 'required',
        'opt1' => 'required',
        'opt2' => 'required',
        'opt3' => 'required',
        'opt4' => 'required',
    ]);

    $inputs = $request->all();

    Question::create($inputs);

    return back()->with('success','Soal Berhasil dikirim.');
}


1 commentaires

Je l'ai essayé, mais seuls les derniers champs supplémentaires ont été envoyés.



0
votes
public function CreateQuestion(Request $request)
{
    $this->validate($request, [
        'exercise' => 'required',
        'question' => 'required',
        'opt1' => 'required',
        'opt2' => 'required',
        'opt3' => 'required',
        'opt4' => 'required',
    ]);

    $inputs = $request->all();

    foreach ($inputs['exercise'] as $key => $exercise)
        {
            Question::create(array(
                'exercise'=>$exercise,
                'question'=>$inputs['question'][key],
                'opt1'=>$inputs['opt1'][key],
                'opt2'=>$inputs['opt2'][key],
                'opt3'=>$inputs['opt3'][key],
                'opt4'=>$inputs['opt4'][key],
            ));
        }

    return back()->with('success','Soal Berhasil dikirim.');
}

4 commentaires

Résultat: argument non valide fourni pour Foreach () _ , vous avez manqué "S" au fait.


Merci! J'ai changé ma réponse.


Désolé, merci, pour votre réponse. Mais ça ne marche pas pour moi .... 😢


C'est le résultat: argument non valide fourni pour Foreach ()