Skip to content

Board Category에 대한 Eager Loading 에서 발생하는 오류 수정 #329

@xharpenParksuhyeon

Description

@xharpenParksuhyeon

Board Category 모델에 대한 Eager Loading 이 정상적으로 동작하지 않는 문제를 확인했습니다.

게시판 쪽에서 발생하는 카테고리 N + 1 문제를 해결하기 위해 작업을 진행하고 있었습니다.
일반적으로 N+1 는 with, load 문을 사용하면 쉽게 해결할 수 있는 문제라 별 고민하지 않고 작업을 진행했습니다.

하지만 제 생각과는 다른 결과가 발생했다.
쿼리 상으로는 분명히 결과 값이 있는데, 실제 relation 값에 null 이 들어가 있었습니다.


또 바로 Lazy Loading 을 통해서 값을 가져온 경우엔 정상적으로 작동하고 있었다.


Lazy Loading

$books = App\Book::all(); // (1)

foreach ($books as $book) {
    echo $book->author->name; // 연관된 author 정보의 name에 접근
}

Eager Loading

$books = App\Book::with('author')->get();

foreach ($books as $book) {
    echo $book->author->name;
}

Metadata

Metadata

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions