Մեկից ավելի ժառանգներ հայրական կապերում 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
Ենթադրենք ունենք օգտատերեր: Յուրաքանչյուր օգտատեր ունի հայր և մայր: Նկարագրեք պահպանման կառուցվածքը:
Գրեք հարցում, որը կվերցնի օգտատերին նրա հոր և մոր հետ միասին: