Laravel

Eloquent ORM 기초

Models, CRUD 작업, query builder, mass assignment, timestamps, soft deletes, accessors, mutators

22 면접 질문·
Junior
1

Eloquent는 모델 이름에서 테이블 이름을 추론할 때 기본적으로 어떤 명명 규칙을 사용하나요?

답변

Eloquent는 클래스 이름의 복수형 snake_case를 사용하여 테이블 이름을 추론합니다. 예를 들어 User 모델은 users 테이블에 해당하고, BlogPost는 blog_posts에 해당합니다. 이 규칙은 모델에서 $table 속성을 정의하여 재정의할 수 있습니다.

2

새 모델을 생성하고 저장하는 작업을 단일 작업으로 수행할 수 있는 Eloquent 메서드는 무엇인가요?

답변

create() 메서드는 속성 배열을 받아 모델 생성과 저장을 단일 작업으로 수행합니다. mass assignment로부터 보호하기 위해 속성이 $fillable 속성에 나열되어 있거나 $guarded가 정의되어 있어야 합니다. new Model() 후 save()를 호출하는 방식과 달리, create()는 이 두 단계를 결합합니다.

3

$fillable에 없는 속성을 mass assignment하려고 하면 어떻게 되나요?

답변

Laravel은 mass assignment 취약점으로부터 보호하기 위해 MassAssignmentException을 던집니다. 이 보호는 악의적인 사용자가 HTTP 요청을 통해 허가되지 않은 속성을 주입하는 것을 방지합니다. 속성을 $fillable에 추가하거나, $guarded를 사용해 특정 속성만 보호하거나, forceFill()을 사용해 보호를 우회해야 합니다.

4

Eloquent에서 find() 메서드와 findOrFail() 메서드의 차이는 무엇인가요?

5

Eloquent는 created_at과 updated_at 컬럼을 어떻게 자동으로 처리하나요?

+19 면접 질문

다음 면접을 위해 Laravel을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기