I have two related models Domain
and 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'); });