ความสัมพันธ์แบบพาเรนต์ที่มีลูกหลายคนใน PHP

ในบทเรียนก่อนหน้า พ่อสามารถมีลูกได้เพียงคนเดียวเท่านั้น สิ่งนี้เกิดขึ้นได้เพราะพ่อมีความสัมพันธ์ผ่านฟิลด์ son_id

สมมติว่าตอนนี้พ่อสามารถมีลูกได้หลายคน ในกรณีนี้ เรายังสามารถสร้างตารางเพียงตารางเดียวที่เชื่อมโยงกับตัวเองได้ เราเพียงแค่เก็บข้อมูลในฟิลด์ความสัมพันธ์ไม่ใช่ id ของลูก แต่เป็น id ของพ่อ ด้วยวิธีนี้ ยูเซอร์หลายคนจะสามารถอ้างอิงถึงพ่อของพวกเขาได้ — และนั่นทำให้พ่อมีลูกได้หลายคน:

users
id name father_id
1 user1 3
2 user2 3
3 user3 4
4 user4 null

สามารถดึงข้อมูลยูเซอร์พร้อมกับพ่อของเขาได้ดังนี้:

sqlSELECT
  users.name as user_name,
  fathers.name as father_name
FROM
  users
LEFT JOIN users as fathers ON fathers.id=users.father_id
Задание 1

สมมติว่าเรามียูเซอร์ ยูเซอร์แต่ละคนมีพ่อและแม่ อธิบายโครงสร้างการจัดเก็บข้อมูล

Задание 2

เขียนคำสั่ง query เพื่อดึงข้อมูลยูเซอร์พร้อมกับพ่อและแม่ของเขา