я программирую laravel приложение, которое имеет три таблицы
- категории
- компании
- купоны
и у купонов есть category_id, company_id для отношений дело в том, что когда я удаляю категорию, я хочу установить в таблице купонов category_id в null вместо того, чтобы оставлять ее там, потому что выход из нее вызовет проблемы, которые я видел для внешних ключей и onDelete, но я не могу понять это, я поделюсь миграцией и методом удаления
миграция купонов
$table->id();
$table->string('title');
$table->string('link');
$table->longText('terms');
$table->string('show_image');
$table->string('coupon_code');
$table->tinyinteger('special');
$table->integer('category_id');
$table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');;
$table->integer('company_id');
$table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');;
$table->timestamps();
о других таблицах, они имеют только заголовок, изображение, идентификатор, так что нет необходимости чтобы поделиться ими
Функция удаления категории
public function destroy(Request $request , $id)
{
$destroy_category = Categories::find($id);
//delete the icon
$icon = $destroy_category->icon;
File::delete(public_path($icon));
$destroy_category->delete();
return redirect('/category/index')->with('success' , 'Category Deleted Successfully');
}
пожалуйста, покажите мне, как я должен установить для category_id значение null или что-то с этим сделать
Заранее спасибо