I have two related models Domainand Server. I'm trying to insert data to my tables using a form. here is my store function :
public function store(Request $request, Domain $domain, Server $server)
{
    $domain->create($request->all());
    $server->domain()->associate($domain);
    $server->save();
    $server->create($request->only(['srv_hostname','srv_ip','srv_port']));
    return redirect()->route('domains.index');
}
the table servers has a FK domain_id that points to the PK domain.id Once I submit my form i get the error :
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'domain_id' cannot be null (SQL: insert into
servers(domain_id,updated_at,created_at) values (, 2015-11-25 10:55:45, 2015-11-25 10:55:45))
It seems like fk is not correctly linked to the pk..but I don't know how to solve this. thanks :)
Notes :
1 - My 2 related models:
Class Server extends Eloquent {
    public function domain(){
    return $this->belongsTo('Domain');
   }
// $fillable and stuff..
}
-
Class Domain extends Eloquent {
    public function servers(){
    return $this->hasMany('Server');
}
//
}
2 - My tables are related:
Schema::table('servers', function($table){
    $table->foreign('domain_id')
        ->references('id')
        ->on('domains')
        ->onDelete('cascade');
});
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire