Salut à tous. Je suis en train de gerer l'insertion dans une base de données, pour les tables contenant pasdeclé étrangère, cela fonctionne sans problème, le probleme se trouve au niveau des tables contenant les clés etrangères. Si quelqu'un a une idée pour la resolution de mon probleme, je suis preneur. Merci d'avance.
Migration de la table users
Migration de la table appelapropositions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); })
Migration de la table projets contenant l'id des tables appelapropositions et users
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Schema::create('appelapropositions', function (Blueprint $table) { $table->increments('id'); $table->string('themePrioritaireRecherche'); $table->double('montantFinancement'); $table->date('dateDebutSoumissionNoteSuccinte'); $table->date('dateFinSoumissionNoteSuccinte'); $table->date('dateDebutSoumissionNoteDetaillee'); $table->date('dateFinSoumissionNoteDetaillee'); $table->timestamps(); });
Fonction store() de controller de la table projets
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Schema::create('projets', function (Blueprint $table) { $table->increments('id'); $table->string('titreProjet'); $table->string('motCleProjet'); $table->double('montantDemande'); $table->text('resumeProjet'); $table->string('dureeProjet'); $table->timestamps(); $table->integer('idAppel')->unsigned(); $table->integer('idUser')->unsigned(); });
Modele de classe projets
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public function store(Request $request) { $this->validate($request, [ 'titreProjet' => 'required|min:10', 'motCleProjet' => 'required|min:5', 'montantDemande' => 'required', 'resumeProjet' => 'required|min:10', 'dureeProjet' => 'required', ]); Projet::create([ 'titreProjet' => $request->titreProjet, 'motCleProjet' => $request->motCleProjet, 'montantDemande' => $request->montantDemande, 'resumeProjet' => $request->resumeProjet, 'dureeProjet' => $request->dureeProjet, ]); return redirect()->route('home'); }
Modele pour la table appelapropositions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 class Projet extends Model { public $table = 'projets'; public $fillable = [ 'idAppel', 'titreProjet', 'motCleProjet', 'montantDemande', 'resumeProjet', 'dureeProjet' ]; public function user() { return $this->belongsTo(User::class); } public function appelaproposition() { return $this->belongsTo(Appelaproposition::class); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 class Appelaproposition extends Model { public $table = 'appelapropositions'; public $fillable = [ 'themePrioritaireRecherche', 'montantFinancement', 'dateDebutSoumissionNoteSuccinte', 'dateFinSoumissionNoteSuccinte', 'dateDebutSoumissionNoteDetaillee', 'dateFinSoumissionNoteDetaillee' ]; public function projets() { return $this->hasMany(Projet::class); } }
Maintenant le code pour la recuperation des cles etrangeres la, vraiment, aucune idée
Merci davance.
Partager