메뉴와 카테고리의 연관 관계 설정하기
php artisan make:migration create_category_menu_table --create="category_menu"
마이그레이션 파일 생성 후 up메서드에 내용을 아래와 같이 설정 해준다.
public function up()
{
Schema::create('category_menu', function (Blueprint $table) {
$table->foreignId('category_id')->constrained();
$table->foreignId('menu_id')->constrained();
});
}
카테고리 모델 설정
메뉴 모델 설정
menu에 카테고리 데이터 넘기기
menu의 view 단에서 카테고리를 잘 가져오는지 확인
카테고리 데이터 삭제 시
app > Http > Controller > Admin > MenuController.php
...
public function destroy(Menu $menu)
{
$menu->delete();
$menu->categories()->detach(); // 중간 테이블 레코드 제거
Storage::delete($menu->image);
return to_route('admin.menus.index')->with('danger', 'Menu deleted successfully');
}
$menu->categories()->detach(); 를 사용해서 중간 테이블 레코드(메뉴id와 카테고리id를 관리)를 제거 할 수 있다.
그리고 Table과 Reservation 모델이 연관 관계인 경우



이렇게 Table컨트롤러에서 destroy가 실행될 때 연관 테이블인 reservations에서도 연결된 값을 삭제해 주기 쉽다.
$table->reservations()->delete();
'프로젝트 > [Laravel Breeze] 레스토랑 예약 프로그램' 카테고리의 다른 글
[Laravel] 9. Enum 활용 (laravel 9버전 이상) (0) | 2022.07.04 |
---|---|
[Laravel] 9. 수정, 삭제시 연관관계 설정된 데이터 고려해야할 점 (0) | 2022.07.04 |
[Laravel] 7. Request를 활용한 Validation(유효성 검사)와 Create (0) | 2022.07.01 |
[laravel] 6. Route와 create 페이지 (0) | 2022.07.01 |
[laravel] 5. controller 생성 (0) | 2022.06.30 |