i'am new in LARAVEL and i got some issues .
My problem is that when i insert data into the first table i can see that it has an id setted by default but when i insert data into the second table i keep getting this error :
SQLSTATE[HY000]: General error: 1364 Field 'etudiant_id' doesn't have a default value
what should i do to give the foreign key the id number of the first table ?
Here is my Schemas :
the first table -etudiant- :
public function up()
{
Schema::create('etudiants', function (Blueprint $table) {
$table->increments('id');
$table->string('nom');
$table->timestamps();
});
}
the second table -bac2- :
public function up()
{
Schema::create('bac2', function (Blueprint $table) {
$table->increments('id');
$table->integer('etudiant_id')->unsigned();
$table->foreign('etudiant_id')->references('id')->on('etudiants')-
>onDelete('cascade') ;
$table->date('anne_bac2');
$table->timestamps();
});
}
Here is my insertion function :
function insert(Request $req){
$nom = $req->input('name');
$data= array('nom'=>$nom);
$anne_bac2 = $req->input('anne_bac2');
$data2= array('anne_bac2'=>$anne_bac2);
DB::table('etudiants')->insert($data);
DB::table('bac2')->insert($data2);
return "success";
}
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire