Skip to content

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

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;
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions