Insertion de clé étrangère dans une vue
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
Code:
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 appelapropositions
Code:
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();
}); |
Migration de la table projets contenant l'id des tables appelapropositions et users
Code:
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();
}); |
Fonction store() de controller de la table projets
Code:
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 de classe projets
Code:
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);
}
} |
Modele pour la table appelapropositions
Code:
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.