Eloquent ORM을 이용하여 아래의 데이터를 조회하기 위한 코드를 작성했습니다.
- A가 가진 모든 B들과
- 그 B들이 가진 모든 C들 중 A와 관련 있는 것만 추린 것들과
- 그 C들이 가진 모든 D들
그 결과 아래와 같은 코드가 나왔어요. ORM에 익숙한 분들은 이게 뭐? 하시겠지만 저는 굉장히 놀랬습니다 하하. 새삼 ORM에 더 익숙해지면 정말 편리해지겠구나 하는 생각이 드네요.
$a = A::find($id); $a->load([ 'b', 'b.c' => function($query) use ($a) { $query->where('a_id', $a->id); }, 'b.c.d' ]); return $a;
+
‘b’, 가 없어도 똑같이 동작하네요!