PHP에서 여러 자식을 가진 관계 설정
이전 강의에서 아버지는 오직 한 명의
아들만 가질 수 있었습니다. 이것은 아버지가
son_id 관계를 가짐으로써 달성되었습니다.
이제 아버지가 여러 아들을 가질 수 있다고 가정해 봅시다.
이 경우에도 우리는 여전히 하나의 테이블만 만들 수 있으며,
이는 자기 자신과 관계를 맺습니다. 단, 관계 필드에는
아들의 id가 아니라 아버지의 id를 저장합니다.
이 경우 여러 사용자가 자신의 아버지를 참조할 수 있게 되므로
아버지는 여러 아들을 가지게 됩니다:
| id | name | father_id |
|---|---|---|
| 1 | user1 | 3 |
| 2 | user2 | 3 |
| 3 | user3 | 4 |
| 4 | user4 | null |
사용자와 그의 아버지를 함께 가져오는 방법은 다음과 같습니다:
SELECT
users.name as user_name,
fathers.name as father_name
FROM
users
LEFT JOIN users as fathers ON fathers.id=users.father_id
사용자들이 있다고 가정합니다. 각 사용자는 아버지와 어머니를 가지고 있습니다. 저장 구조를 설명하세요.
사용자와 그의 아버지, 어머니를 함께 가져오는 쿼리를 작성하세요.