Više potomaka u roditeljskim relacijama u PHP-u
U prethodnoj lekciji otac je mogao imati samo
jednog sina. To je postignuto time što je
otac imao vezu son_id.
Neka sada otac može imati više sinova.
U ovom slučaju i dalje možemo napraviti
samo jednu tabelu, koja će biti povezana
sama sa sobom. Samo u polju veze ćemo čuvati
ne id sina, već id oca. U ovom
slučaju više korisnika može da se pozove
na svog oca - i na taj način otac će imati
više sinova:
| id | name | father_id |
|---|---|---|
| 1 | user1 | 3 |
| 2 | user2 | 3 |
| 3 | user3 | 4 |
| 4 | user4 | null |
Dobijanje korisnika zajedno sa njegovim ocem može se izvršiti na sledeći način:
SELECT
users.name as user_name,
fathers.name as father_name
FROM
users
LEFT JOIN users as fathers ON fathers.id=users.father_id
Neka imamo korisnike. Svaki korisnik ima oca i majku. Opišite strukturu skladištenja.
Napišite upit koji će dohvatiti korisnika zajedno sa njegovim ocem i majkom.