0
1つの方法で2つのテーブル(ハウスとコンタクト)に挿入しようとしています。ここでLaravelで複数のテーブルに挿入する方法
public function store(HouseRequest $request){
$dataForm = $request->all();
$house = House::create($dataForm); //Insert into House table
$contact = $house->contact()->create($dataForm['contact']); //Insert into Contact table
return back('dashboard/houses')->with('message', 'Success');
}
は、私のテーブルの連絡先である:
Schema::create('contacts', function (Blueprint $table) {
$table->integer('house_id')->unsigned();
$table->string('name', 255);
$table->char('phone', 11);
$table->timestamps();
$table->foreign('house_id')->references('id')->on('houses')->onDelete('cascade')
}
ハウスモデル:
public function contact(){
return $this->hasOne(Contact::class);
}
それは(両方のテーブルに挿入する)正常に動作しますが、フォームを送信した後、私はこれを得ました:
SQLSTATE [42S22]:列が見つかりません:1054 'where句'で不明な列 'id'(SQL:select * from contacts
ここでid
= 0制限1)
私は上記のクエリを実行している理由はわかりません。どうすればこのエラーを取り除くことができますか?
それはとても簡単だった、私は実際にいくつかの睡眠を取得する必要があります。 – GabrielFiel