Resource 컨트롤러
간편하게 CRUD 를 구현하기 위해서 Resource Controller 를 만든다.
php artisan make:controller PhotoController --resource
php artisan make:controller PhotoController --model=Photo --resource
// 가장 좋은 방법
php artisan make:model Photo -m
php artisan make:controller PhotoController --model=Photo --resource --requests
위 명령어를 실행하면, 자동으로 컨트롤러에 CRUD 함수가 만들어진다.
리소스 컨트롤로는 간단하게 CRUD를 작성할 수 있고, 간단하게 라우딩 할 수 있다.
Route 라우팅 방법
// 가장 기본적인 라우팅
Route::resource('photos', PhotoController::class);
// 여러개를 동시에 작성하는 방법
Route::resources([
'photos' => PhotoController::class,
'posts' => PostController::class,
]);
// 필요한 CRUD 함수만 작동되도록
Route::resource('photos', PhotoController::class)->only([
'index', 'show'
]);
// 제외하기
Route::resource('photos', PhotoController::class)->except([
'create', 'store', 'update', 'destroy'
]);
// 없는 함수를 요청한 경우. 동작하도록
Route::resource('photos', PhotoController::class)
->missing(function (Request $request) {
return Redirect::route('photos.index');
});
소프트 삭제시, 모든 데이타 갖고오기
Route::resource('photos', PhotoController::class)->withTrashed();
Route::resource('photos', PhotoController::class)->withTrashed(['show']);
API Resource 컨트롤러
php artisan make:controller PhotoController --api
API 라우팅
Route::apiResource('photos', PhotoController::class);
중첩 리소스 처리방법
Route::resource('photos.comments', PhotoCommentController::class);
/photos/{photo}/comments/{comment}
Route::resource('photos.comments', PhotoCommentController::class)->scoped([
'comment' => 'slug',
]);
/photos/{photo}/comments/{comment:slug}
'Laravel' 카테고리의 다른 글
Laravel - RouteServiceProvider 에 대해서 (여러개의 라우팅 파일작성하기) (0) | 2024.03.04 |
---|---|
Laravel - Factory, Seeder (테스트 User 생성하기) (0) | 2024.02.12 |
Laravel - API Resource 만들기 (0) | 2024.01.31 |
Laravel - Enum 생성, 조회 및 Validation 처리하기 (사용자 권한 구분하기) (0) | 2024.01.29 |
Laravel - Service Container 서비스 컨테이너에 대해서 (0) | 2024.01.16 |
Resource 컨트롤러
간편하게 CRUD 를 구현하기 위해서 Resource Controller 를 만든다.
php artisan make:controller PhotoController --resource
php artisan make:controller PhotoController --model=Photo --resource
// 가장 좋은 방법
php artisan make:model Photo -m
php artisan make:controller PhotoController --model=Photo --resource --requests
위 명령어를 실행하면, 자동으로 컨트롤러에 CRUD 함수가 만들어진다.
리소스 컨트롤로는 간단하게 CRUD를 작성할 수 있고, 간단하게 라우딩 할 수 있다.
Route 라우팅 방법
// 가장 기본적인 라우팅
Route::resource('photos', PhotoController::class);
// 여러개를 동시에 작성하는 방법
Route::resources([
'photos' => PhotoController::class,
'posts' => PostController::class,
]);
// 필요한 CRUD 함수만 작동되도록
Route::resource('photos', PhotoController::class)->only([
'index', 'show'
]);
// 제외하기
Route::resource('photos', PhotoController::class)->except([
'create', 'store', 'update', 'destroy'
]);
// 없는 함수를 요청한 경우. 동작하도록
Route::resource('photos', PhotoController::class)
->missing(function (Request $request) {
return Redirect::route('photos.index');
});
소프트 삭제시, 모든 데이타 갖고오기
Route::resource('photos', PhotoController::class)->withTrashed();
Route::resource('photos', PhotoController::class)->withTrashed(['show']);
API Resource 컨트롤러
php artisan make:controller PhotoController --api
API 라우팅
Route::apiResource('photos', PhotoController::class);
중첩 리소스 처리방법
Route::resource('photos.comments', PhotoCommentController::class);
/photos/{photo}/comments/{comment}
Route::resource('photos.comments', PhotoCommentController::class)->scoped([
'comment' => 'slug',
]);
/photos/{photo}/comments/{comment:slug}
'Laravel' 카테고리의 다른 글
Laravel - RouteServiceProvider 에 대해서 (여러개의 라우팅 파일작성하기) (0) | 2024.03.04 |
---|---|
Laravel - Factory, Seeder (테스트 User 생성하기) (0) | 2024.02.12 |
Laravel - API Resource 만들기 (0) | 2024.01.31 |
Laravel - Enum 생성, 조회 및 Validation 처리하기 (사용자 권한 구분하기) (0) | 2024.01.29 |
Laravel - Service Container 서비스 컨테이너에 대해서 (0) | 2024.01.16 |