3
所以在laravel我有一個hasMany關係,讓我們稱它爲水果。 用戶在配置文件頁面上只能有1個水果及其複選框。目前 我有這樣的代碼Laravel有許多更新關係
if (!empty($data['fruits'])) {
$fruits = $data['fruits'];
foreach($user->fruits as $i) {
$i->delete();
}
for($a=0;$a<count($fruits);$a++)
{
$AT = new Fruits;
$AT->user_id=$user->id;
$AT->fruit_id=$fruits[$a];
$AT->save();
}
}
這是什麼做的是檢查是否水果的選擇是空的,如果它不是,刪除現有的與用戶相關聯的水果和創建新的。
這真的很醜,因爲我覺得它好像是。我不確定如何檢查該用戶的水果ID是否已經存在,以及它是否創建它。 任何援助,將不勝感激。
Schema::create('user_fruits', function (Blueprint $table) {
$table->engine = 'InnoDB';
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->integer('fruit_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users')->onUpdate('cascade')->onDelete('cascade');
$table->foreign('fruit_id')->references('id')->on('fruits')->onUpdate('cascade')->onDelete('cascade');
$table->timestamps();
});
你可以分享你的表遷移用戶和水果?你需要在表格水果中搜索user_id,如果它不存在,創建新的。 –
@ Diego182嘿,我已經添加了我的user_fruits表。 –
您是否使用數據透視表方法來存儲'hasMany'關係? –