전체 글 42

laravel 라라벨 소프트 딜리트 적용

데이터베이스에서 레코드를 실제로 삭제하는 대신 Eloquent는 soft delete할 수 있다.모델이 소프트 딜리트되면 실제로 데이트베이스에서 제거되지 않는다.대신 모델이 삭제된 날짜와 시간을 나타내는 deleted_at 속성이 모델에 설정된다. 모델에 대해 소프트 딜리트를 사용하려면 모델에 Illuminate\Database\Eloquent\SoftDeletes 속성을 추가한다.$dates 배열에 'deleted_at' 칼럼을 추가한다.  $dates는 Laravel Eloquent 모델에서 날짜로 취급되는 속성들을 정의한다.이 배열은 모델에서 날짜 형식의 필드를 처리하기 위한 기능을 제공한다. 기본적으로 Eloquent는 모델의 해당 데이터베이스 테이블에 created_at과 updated_at 칼..

카테고리 없음 2024.05.09

laravel 라라벨 csrf old

애플리케이션에서 HTML 양식을 정의할 때마다 CSRF 보호 미들웨어가 요청의 유효성을 검사할 수 있도록 양식에 숨겨진 CSRF 토큰 필드를 포함해야 한다.  @csrf ...  이전 요청에서 플래시된 입력을 검색하려면 Illuminate\Http\Request의 인스턴스에서 old 메서드를 호출해야 한다.old 메서드는 세션에서 이전에 플래시된 입력 데이터를 가져온다. $username = $request->old('username'); 라라벨은 글로벌 old 헬퍼도 제공한다.Blade 템플릿 내에서 이전 입력을 표시하는 경우 old 헬퍼를 사용하면 편리하다.지정된 필드에 이전 입력이 존재하지 않으면 null이 반환된다.

카테고리 없음 2024.05.09

laravel 라라벨 abort

abort()abort 함수는 Exception 핸들러에 의해 렌더링될 수 있는 HTTP exception을 발생시킨다.abort(403); 예외 메시지와 브라우저에 전송해야 하는 사용자 지정 HTTP 응답 헤더를 제공할 수도 있다.public function update(Request $request, Board $board){ $user = auth()->user(); if ($user->can('update', $board)) { $request = $request->validate([ 'title' => 'required', 'details' => 'required', ]); $board->update($req..

카테고리 없음 2024.05.09

laravel 라라벨 세션에 데이터를 저장하는 방법/put과 flash 비교

게시글을 삭제한 뒤 게시물을 삭제했다는 알림을 세션에 저장하여 보여주는 코드를 작성하려고 한다. 세션에 데이터를 저장하는 방법 1. put 메서드 사용2. flash 메서드 사용 put 메서드는 데이터를 영구적으로 유지하고자 할 때 사용하고, flash 메서드는 데이터를 일시적으로 저장하고자 할 때 사용한다. put 메서드세션에 데이터를 저장할 때는 일반적으로 put 메서드를 사용한다.저장한 데이터를 호출할 때는 session 메서드를 사용한다. // Via a request instance...$request->session()->put('key', 'value'); // Via the global "session" helper...session(['key' => 'value']); put 메서드는 세..

카테고리 없음 2024.05.09

laravel 라라벨 return

모든 경로와 컨트롤러는 사용자의 브라우저로 전송할 응답을 반환해야 한다. 프레임워크는 문자열을 전체 HTTP 응답으로 자동 변환하고 배열은 JSON 응답으로 자동 변환한다. 일반적으로 라우팅 액션은 단순한 문자열이나 배열만 반환하지는 않는다.대신 전체 Illuminate\Http\Response 인스턴스 또는 뷰를 반환한다. Redirect 응답은 사용자를 다른 URL로 리디렉션하는 데 필요한 적절한 헤더를 포함하는 Illuminate\Http\RedirectResponse 클래스의 인스턴트이다. RedirectResponse 인스턴트를 생성하는 가장 간단한 방법은 글로벌 redirect 헬퍼를 사용하는 것이다. Route::get('/dashboard', function () { return re..

카테고리 없음 2024.05.09

laravel 라라벨 route() 라우트 헬퍼 함수

route 함수는 주어진 라우트 이름으로 URL을 생성한다. $url = route('route.name'); 라우트가 파라미터를 가진다면 파라미터를 두 번째 인수로 전달한다. $url = route('route.name', ['id' => 1]); 기본적으로 route 함수는 절대 경로 URL을 생성한다.상태경로의 URL을 생성하려면 세번재 인자를 false로 전달한다. $url = route('route.name', ['id' => 1], false);

카테고리 없음 2024.05.09

'array_key_first(): Argument #1 ($array) must be of type array, int given' 오류 해결

게시글을 작성하면 작성자 id 정보가 데이터베이스에 저장되도록 하는 작업을 진행하는 중에 'array_key_first(): Argument #1 ($array) must be of type array, int given' 오류가 발생했다."array_key_first(): 인수 #1 ($array)은(는) 배열 형식이어야 합니다. 그러나 정수가 제공되었습니다." 라는 뜻이다. public function store(Request $request){ $user_id = auth()->id(); $request = $request->validate([ 'title' => 'required', 'details' => 'required', 'user_id' =>..

카테고리 없음 2024.05.08

'Call to a member function setCookie() on null' 오류 해결

개발 환경 WindowsPHP 8.2Laravel 9.*  미들웨어를 이용해 게시글 작성자만 게시글 url에 접속할 수 있도록 작업하는 도중에 'Call to a member function setCookie() on null' 오류가 발생했다. 번역하면 "null에 대해 setCookie() 멤버 함수를 호출했습니다" 라는 뜻이다.  오류가 발생한 코드는 다음과 같다. route('board'); $board = Board::find($boardId); if ($board && $board->user_id === auth()->id()) { return view('board.show', compact('board')); } abort..

카테고리 없음 2024.05.08

'Return value must be of type Symfony\Component\HttpFoundation\response' 오류 해결

개발 환경 WindowsPHP 8.2Laravel 9.*  미들웨어를 이용해 게시글 작성자만 게시글 url에 접속할 수 있도록 작업하는 도중에 'Return value must be of type Symfony\Component\HttpFoundation\response' 오류가 발생했다. 번역하면 "반환 값은 Symfony\Compenent\HttpFoundation\Response 유형이어야 합니다" 라는 뜻이다.  오류가 발생한 코드는 다음과 같다. route('board'); $board = Board::find($boardId); if ($board && $board->user_id === auth()->id()) { return response()-..

카테고리 없음 2024.05.08