現在、複数のテーブルを一括で更新または新規作成する方法を探しています。
例えば、以下のような配列を用意したとき
$data = [ 'username' => 'TEST USER', 'products' => [ ['name' => 'a', 'price' => 350], ['name' => 'b', 'price' => 450], ['name' => 'c', 'price' => 550], ] ];
User::create($data);
とすることで、Usersテーブルにはusernameが保存されProductsテーブルにはproducts以下が保存されるという機能が無いか探しています。
リレーションで対応可能かと思いUserモデルには、以下のような記載をしていますが期待している動作になりませんでした。
( SQLSTATE[42S22]: Column not found: 1054 Unknown column 'products' in 'where clause' のようなエラーが発生しています)
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class User extends Model { protected $fillable = ['username', 'products']; public function products() { return $this->hasMany(Product::class); } }
もしおわかりになる方がいらっしゃいましたらご教授いただければと存じます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/14 08:37