Projets Laravel France

Insertion donnees mysql: formulaire de sondage

Avatar de banaSANKARE
banaSANKARE

Bonjour à tous le monde, je demande votre aide et c'est hyper urgent le concepte: je doit concevoir une application de " recueil de feedback d'experience candidats " avec laravel 5.6 donc j'ai un formulaire avec plusieurs questions que le candidat doit repondre et coté admin j'aurai un dashboard avec des charts pour evaluer les donnees issu du formulaire. Dans ma base de donnees j'ai 3 tables: table candidat, table questionnaire et table reponses

Voila mon probleme: quand j'insere les donnees du formulaire dans ma base de donnees la derniere reponse du candidat ecrase tout les autre reponse et je me retrouve avec une seule reponse :(

ma migration table questionnaire

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;

class CreateQuestionsTable extends Migration {

	/**
	 * Run the migrations.
	 *
	 * @return void
	 */
	public function up()
	{
		Schema::create('questions', function(Blueprint $table)
		{
			$table->integer('id_question', true);
			$table->string('libelle_question')->nullable();
			$table->dateTime('created_at')->nullable();
			$table->softDeletes();
			$table->integer('id_candidat')->index('id_candidat');
		});
	}


	/**
	 * Reverse the migrations.
	 *
	 * @return void
	 */
	public function down()
	{
		Schema::drop('questions');
	}

}

le modele

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Question extends Model
{
         protected $fillable = [
        'libelle_candidat'
         ];
}

et le controller

 <?php

namespace App\Http\Controllers;

use Request;
use App\question;


class questionController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        question::create(Request::all());

        return 'reussi';
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}

donc tout ce que je veu c'est inserer tous les reponses en meme temps dans ma base MERCI.

Posté il y a 1 an
Avatar de bestmomo
bestmomo

Bonjour,

Comment il est concu ce formulaire ?

Posté il y a 1 an
Avatar de banaSANKARE
banaSANKARE
 <form role="form" action="store" method="post">
                    @csrf
                   
                    <div class="panel panel-primary setup-content" id="step-1">
                        <div class="panel-heading">
                             <h3 class="panel-title"> Quelle est votre appréciation concernant ?</h3>
                        </div>
                        <div class="panel-body">

                        <div class="form-group"> 
                            <label class="control-label"> 1. les informations reçues en amont du processus de recrutement sur les différentes étapes de celui-ci</label>
                            <div class="form-check">
                                <label class="form-check-label">
                                <input type="checkbox" class="form-check-input" name="information_recues" value="Tressatisfaisant">Tres satisfaisant</label>
                            </div>
                            <div class="form-check">
                                <label class="form-check-label">
                                 <input type="checkbox" class="form-check-input" name="information_recues" value="Satisfaisant">Satisfaisant</label>
                            </div>
                            <div class="form-check">
                                 <label class="form-check-label">
                                <input type="checkbox" class="form-check-input" name="information_recues" value="Passatisfaisant">Pas satisfaisant</label>
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="control-label"> 2. la qualité du discours tenu par le chargé de recrutement</label>
                        
                            <div class="form-check">
                                <label class="form-check-label">
                                <input type="checkbox" class="form-check-input" name="qualite_discours" value="Tressatisfaisant">Tres satisfaisant</label>
                            </div>
                            <div class="form-check">
                                <label class="form-check-label">
                                 <input type="checkbox" class="form-check-input" name="qualite_discours" value="Satisfaisant">Satisfaisant</label>
                            </div>
                            <div class="form-check">
                                 <label class="form-check-label">
                                <input type="checkbox" class="form-check-input" name="qualite_discours" value="Passatisfaisant">Pas satisfaisant</label>
                            </div>
                        </div>
</form>
Posté il y a 1 an
Avatar de ziedTriki
ziedTriki

Bonjour,

essayes de changer le clé primaire de table questions :

$table->integer('id_question', true); => $table->increments('id_question');

Posté il y a 1 an

Vous ne pouvez pas répondre à ce sujet.