ORM/QueryBuilder Flashcards

1
Q

레코드가 없을 때 중단시키고 싶다면

A

->firstOrFail()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

->first() 는

레코드가 하나도 없을 때

A

null을 리턴한다

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

존재하는 지 확인하려면

A

->exists()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

TINY INT

A

tinyInteger()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

BIG INT

A

bigInteger()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

varchar(255)

A

string(칼럼, 255)

( string(칼럼) = string(칼럼, 255) )

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

전체 10자리 중에서 소수점 3번 째까지 허용하는 타입

A

decimal(칼럼, 10, 3)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

TEXT

A

text()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

UUID

A

uuid()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

cat, dog만 들어갈 수 있는 타입

A

enum(칼럼, [‘cat’, ‘dog’])

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

칼럼에 null 허용

A

->nullable()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

UNIQUE 인덱스 추가

A

->unique()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

기본 키 인덱스 추가

A

->primary()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

기본 인덱스 추가

A

->index()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

created_at, updated_at 추가

A

->timestamps()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

기본 값으로 id 지정

A

->id(칼럼)

17
Q

라라벨의 엘로퀀트는

연관관계가 있는

모델의 인스턴스를 가져올 때

A

함께 불러오지 않는다.

18
Q

모델 인스턴스를 여러 개를 조회한 뒤에

연관관계가 있는 걸 조회하려고 하면

라라벨의 동작방식이

A

Lazy Loading 이기 때문에

데이터베이스에 각각에 대해서 쿼리를 한다

19
Q

Lazy Loading 을 해결해서

성능을 개선하려면

A

Eager Loading을 사용해야한다.

20
Q

라라벨에서 Lazy Loading 문제는 항상

A

hasMany, belongsTo

같은 연관관계에 있는 걸 조회할 때 발생한다

21
Q

라라벨에서 Eager Loading을

사용하려면

A

모델의 연관관계가 있는 메서드를

with 메서드의 인자로 사용해야 한다

22
Q

어디에서 Lazy Loading 문제가 발생하는가?

A

$posts->comments

모델의 연관관계를 사용하는 곳은

어디서나 발생할 수 있다

23
Q

이 Lazy Loading 문제를 어떻게 해결하는가?

A

여러 인스턴스를 로딩하는 부분에

with() 메서드로 사전에 정의한

연관관계의 메서드를 입력하면 된다.

쿼리는 이렇게 바뀐다.

24
Q

protected $fillable = [ … ]

이 속성이 모델에 있는 이유는 무엇인가?

A

라라벨의 모델에서 생성이나 수정을 할 때,

인자들을 배열로 넘겨준다.

그런데 변경되면 안되는 값들이

실수로 변경되는 것을 막기 위해서

안전하게 인자로 지정을 해주는 것이다.

25
Q

->get()

을 사용하면

A

라라벨 컬렉션을 얻는다

26
Q

->first()

->find()

를 사용하면

A

객체를 얻는다

27
Q

데이터베이스에서

실제로 삭제는 하지 않고

삭제한 것처럼 보이는 기능은?

A

Soft Deletion

28
Q

Soft Deletion 은

무턱대고 사용하면

A

안된다.

반드시 꼭 필요하다고 느낄 때 사용해야한다