Как я могу удалить оба отношения с хитом signle - PullRequest
0 голосов
/ 23 января 2020

Я хочу удалить обе таблицы данных со списком массивов. Идентификатор избранного в качестве основного и FavoriteProducts favourite_id - это внешний ключ идентификаторов избранного.

 Favorites::whereNotIn('id',array_keys($request->edit_fav_list))
           ->where('user_id',$this->user)->delete();
 FavoriteProducts::whereNotIn('favorite_id',array_keys($request->edit_fav_list))
                   ->where('user_id',$this->user)->delete();

1 Ответ

0 голосов
/ 23 января 2020

Если вы используете MySQL, вы можете добавить 'ON DELETE CASCADE' к своему внешнему ключу. Поместите сюда в миграцию ваших любимых продуктов

$table->foreign('favorite_id')->references('id')->on('favorites')->onDelete('cascade');

, вы также можете добавить метод удаления в вашу любимую модель. Удалите сначала отношение перед удалением родителя.

public function delete() {
    $this->favorite_products()->delete();
    parent::delete();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...