рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреЗрдбрд╝реЛрдВ рдХрд╛ рднрдВрдбрд╛рд░рдгред рднрд╛рдЧ рдПрдХ, рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ

рдЫрд╣ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рд▓рд╛рд░рд╡реЗрд▓ 3 рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓реЛрдЬрдЯреЗрдмрд▓ рдмрдВрдбрд▓ рд▓рд┐рдЦрд╛ рдерд╛ред рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрд┐рд▓ рдХрд╛рд░рд╡рд┐рди рджреНрд╡рд╛рд░рд╛ PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ MySQL рдореЗрдВ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдкрд░ рдпрд╣ рдЕрджреНрднреБрдд рдкреНрд░рд╕реНрддреБрддрд┐ рдереА ред

So. рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рднрдВрдбрд╛рд░рдг рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рд╣реИрдВ:


рдХреНрд▓реЛрдЬрд░ рдЯреЗрдмрд▓ рдХреНрдпрд╛ рд╣реИ


рдЗрд╕ рдбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдПрдХ рдЕрд▓рдЧ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдореБрдЦреНрдп рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХреЗрд╡рд▓ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИред

рд▓рд┐рдВрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рджреЛ рдлрд╝реАрд▓реНрдб рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП:

рдЖрдЗрдП рд╣рдо рдПрдХ рдФрд░ рд╕реБрдкрд░рдкреЙрдкрд░ рд╕реАрдПрдордПрд╕ рдмрдирд╛рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд╛рда рдкреГрд╖реНрдареЛрдВ рдХреЗ рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╣рдореЗрдВ рджреЛ рдЯреЗрдмрд▓ рдЪрд╛рд╣рд┐рдП:

рдбреЗрдЯрд╛рдмреЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рд╕реНрдХреАрдорд╛
рдбреАрдмреА рдЯреЗрдмрд▓ рд╕реНрдХреАрдорд╛

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдирд┐рдореНрди рдкреГрд╖реНрда рдкрджрд╛рдиреБрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:



рд╡рдВрд╢рдЬ рдЪрдпрди


рдпрджрд┐ рд╣рдо рдХрдВрдкрдиреА рдХреЗ рд╕реЗрдХреНрд╢рди рдореЗрдВ рд╕рднреА рдкреЗрдЬреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╣рдореЗрдВ рдРрд╕реА рдПрд╕рдХреНрдпреВрдПрд▓ рдХреНрд╡реЗрд░реА рдорд┐рд▓реЗрдЧреАред

 SELECT * FROM pages p JOIN pages_treepath t ON (p.id = t.descendant) WHERE t.ancestor = 1 


рдкрд░рд┐рдгрд╛рдо рдХреА рд╢рд╛рдЦрд╛ред рддреАрд░ рдкреГрд╖реНрдареЛрдВ рдХреЗ рдмреАрдЪ рд▓рд┐рдВрдХ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред

"рд╡рдВрд╢рдЬ" рдХрд╛ рдЕрд░реНрде рд╣реИ "рд╡рдВрд╢рдЬ", рдФрд░ "рдкреВрд░реНрд╡рдЬ" рдХрд╛ рдЕрд░реНрде рд╣реИ рдкреВрд░реНрд╡рдЬред рддрджрдиреБрд╕рд╛рд░, рд╕рднреА рдмрд╛рд▓ рдкреГрд╖реНрдареЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо pages_treepath рд▓рд┐рдВрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд╕рдВрд▓рдЧреНрди рдХрд░рддреЗ рд╣реИрдВ рдмрд╢рд░реНрддреЗ рдХрд┐ рдкреГрд╖реНрда id рдХрд╛ рд╡рд╣реА рдЕрд░реНрде рд╣реЛ рдЬреЛ рд╡рдВрд╢ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореВрд▓ рдкреГрд╖реНрда рдХрд╛ рд▓рд┐рдВрдХ ancestor 1 , "рдХрдВрдкрдиреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ" рдкреГрд╖реНрда рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИред

рдкреВрд░реНрд╡рдЬ рдирдореВрдирд╛


рдФрд░ рдЕрдм рдиреАрдЪреЗ рд╕реЗ: рдЪрд▓реЛ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдкреГрд╖реНрда рдкрд░ рд╕рднреА "рдорд╛рддрд╛-рдкрд┐рддрд╛" рджреЗрдЦреЗрдВред

 SELECT * FROM pages p JOIN pages_treepath t ON (p.id = t.ancestor) WHERE t.descendant = 11 

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рдкрд░реАрддред рд╣рдо рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдЙрдЪреНрдЪрддрд░ рдкреГрд╖реНрдареЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЗрд╕ рд╢рд░реНрдд рдХреЗ рд╕рд╛рде рд▓рд┐рдВрдХ рдХреА рддрд╛рд▓рд┐рдХрд╛ рд╕рдВрд▓рдЧреНрди рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкреГрд╖реНрда id рдкреВрд░реНрд╡рдЬ ancestor рд╕реЗ рд▓рд┐рдВрдХ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╡рдВрд╢рдЬ рд▓рд┐рдВрдХ рджреНрд╡рд╛рд░рд╛ рдЪрдпрди рдХрд░реЗрдВ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, 11 рдмрд░рд╛рдмрд░ред

рдПрдХ рдирдпрд╛ рдЖрдЗрдЯрдо рдбрд╛рд▓реЗрдВ


рдЖрдк рдПрдХ рдирдпрд╛ рд░рд┐рдХреНрддрд┐ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпреЗ рдорд╛рди рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдЗрдП рдЕрдиреБрд░реЛрдз рдХреЛ рд╣реА рджреЗрдЦреЗрдВред

 INSERT INTO pages VALUES (12, '  ', '', '    ', '0000-00-00 00:00:00', '0000-00-00 00:00:00') INSERT INTO pages_treepath (ancestor, descendant) SELECT ancestor, 12 FROM pages_treepath WHERE descendant = 4 UNION ALL SELECT 12, 12 

рдкрд╣рд▓реЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ - рдпрд╣ рдирдП рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╕рд░рд▓ рд╕рдореНрдорд┐рд▓рди рд╣реИред рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдХреНрд░рдо рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред


рдирдИ рд░рд┐рдХреНрддрд┐ рдбрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рдж рддрддреНрд╡реЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз

 SELECT ancestor, 12 FROM pages_treepath WHERE descendant = 4 

рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рд╕реЗ, рд╣рдореЗрдВ рд▓рд┐рдВрдХ рдХреА рдирд┐рдореНрди рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИ:
 -------------------------
 |  рдкреВрд░реНрд╡рдЬ |  рд╡рдВрд╢рдЬ |
 -------------------------
 |  4 |  12 |
 |  1 |  12 |
 -------------------------

рд╕рдВрдпреЛрдЬрди рджреНрд╡рд╛рд░рд╛ рдкрд┐рдЫрд▓реА рдХреНрд╡реЗрд░реА рдореЗрдВ рдПрдХ рдФрд░ рдЬреЛрдбрд╝реЗрдВ:

 SELECT ancestor, 12 FROM pages_treepath WHERE descendant = 4 UNION ALL SELECT 12, 12 

рдкреЗрдЬ рдХреА рд▓рд┐рдВрдХ-рд▓рд┐рдВрдХ рдХреЛ рд╕реНрд╡рдпрдВ рд▓рд┐рдВрдХ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛:
 -------------------------
 |  рдкреВрд░реНрд╡рдЬ |  рд╡рдВрд╢рдЬ |
 -------------------------
 |  4 |  12 |
 |  1 |  12 |
 |  12 |  12 |
 -------------------------

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ SELECT рдХреНрд╡реЗрд░реА рдЖрдкрдХреЛ рдирдП рдкреЗрдЬ рдФрд░ рдЙрд╕рдХреЗ рд╕рднреА рдкреВрд░реНрд╡рдЬреЛрдВ рдХреЗ рдмреАрдЪ рд▓рд┐рдВрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред ancestor рд╣рдореЗрд╢рд╛ ancestor рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реЛрддрд╛ рд╣реИ, descendant рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реЛрддрд╛ рд╣реИред рдПрдХ INSERT рдХреНрд╡реЗрд░реА, рдЬреЛ рдкрд╣рд▓реЗ рд▓рд┐рдЦреА рдЧрдИ рдереА, рдкрд░рд┐рдгрд╛рдо рдХреЛ pages_treepath рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддреА рд╣реИред

рдЖрдЗрдЯрдо рд╣рдЯрд╛рдПрдВ


рдФрд░ рдЕрдм рд╣рдо рдПрдХ рд╡реЗрдм рдбрд┐рдЬрд╛рдЗрдирд░ рдХреА рд░рд┐рдХреНрддрд┐ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдВрдЧреЗред

 DELETE FROM pages_treepath WHERE descendant = 6 DELETE FROM pages WHERE id = 6 

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЙрди рд╕рднреА рд▓рд┐рдВрдХ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╡рдВрд╢рдЬ рдХрд╛ рд▓рд┐рдВрдХ 6 (рд╡реЗрдм тАЛтАЛрдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдкреЗрдЬ) рд╣реИ, рдФрд░ рдлрд┐рд░ рд╣рдо рдкреЗрдЬ рдХреЛ рд╣реА рдбрд┐рд▓реАрдЯ рдХрд░ рджреЗрддреЗ рд╣реИрдВред

рдПрдХ рдиреЗрд╕реНрдЯреЗрдб рдкреЗрдбрд╝ рд╣рдЯрд╛рдПрдВ


рдЕрдЪрд╛рдирдХ, рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЕрдм рдПрдмреАрд╕реА рдиреЗ рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред рд╣рдореЗрдВ рдЗрд╕реА рдЙрдкрдзрд╛рд░рд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 DELETE FROM pages WHERE id IN ( SELECT descendant FROM ( SELECT descendant FROM pages p JOIN pages_treepath t ON p.id = t.descendant WHERE t.ancestor = 7 ) AS tmptable ) DELETE FROM pages_treepath WHERE descendant IN ( SELECT descendant FROM ( SELECT descendant FROM pages_treepath WHERE ancestor = 7 ) AS tmptable ) 

рдкрд┐рдЫрд▓реЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ рдХреБрдЫ рд╣рдж рддрдХ рдЬрдЯрд┐рд▓ рд╣реИ рдФрд░ рдкреГрд╖реНрда рд╕реНрд╡рдпрдВ рдкрд╣рд▓реЗ рд╣рдЯрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЙрдирдХреЗ рдмреАрдЪ рдХрд╛ рдХрдиреЗрдХреНрд╢рди (рдЪреВрдВрдХрд┐ рдмрд╛рдж рд╡рд╛рд▓реЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкрд╣рд▓реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред

рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ MySQL рдХреНрд╡реЗрд░реА рдХреЛ WHERE рд╕рд╛рде рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╣реА рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ SELECT рдЪрдпрди рд╣реЛрддрд╛ рд╣реИред MySQL рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ SELECT рдХреНрд╡реЗрд░реАрдЬрд╝ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдорд╛рд░реЗ рдкреНрд░рд╢реНрди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдВрдЧреЗ:

 DELETE FROM pages WHERE id IN ( SELECT descendant FROM pages p JOIN pages_treepath t ON p.id = t.descendant WHERE t.ancestor = 7 ) DELETE FROM pages_treepath WHERE descendant IN ( SELECT descendant FROM pages_treepath WHERE ancestor = 7 ) 

рдпрджрд┐ рдЖрдк рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ pages рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ DELETE рдХреНрд╡реЗрд░реА рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб SELECT рдХреНрд╡реЗрд░реА рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдПрдХ рд╕рдорд╛рди рдХреНрд╡реЗрд░реА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдкреГрд╖реНрда рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИред рдЪрдпрди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рд╕рд╛рдЗрдЯ рд╕реЗрдХреНрд╢рди рдХреЗ рд╕рднреА рдЪрд╛рдЗрд▓реНрдб рдкреЗрдЬ рдорд┐рд▓рддреЗ рд╣реИрдВ (рд╕реЗрдХреНрд╢рди рд╕рд╣рд┐рдд), рдФрд░ рдлрд┐рд░ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рднреА рдкреЗрдЬреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВред

рдкреГрд╖реНрдареЛрдВ рдХреЛ рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдЙрди рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╡рдВрд╢рдЬ descendant рд╕рднреА рд▓рд┐рдВрдХ descendant , рдЬрд╣рд╛рдВ рдкреВрд░реНрд╡рдЬ рдХрд╛ рд▓рд┐рдВрдХ рд╕рд╛рдЗрдЯ рдкреЗрдЬ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред

рдШреЛрдВрд╕рд▓реЗ рдХрд╛ рд╕реНрддрд░


рдЖрдк рд╕рдВрдмрдВрдз рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рддрддреНрд╡реЛрдВ рдХреЗ рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╕реНрддрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХреНрд╖реЗрддреНрд░ рдЖрдкрдХреЛ рддрддреНрдХрд╛рд▓ рдкреВрд░реНрд╡рдЬреЛрдВ рдпрд╛ рддрддреНрдХрд╛рд▓ рд╡рдВрд╢рдЬреЛрдВ рдХреЗ рдЪрдпрди рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

 SELECT * FROM pages p JOIN pages_treepath t ON (p.id = t.descendant) WHERE t.ancestor = 4 AND t.level = 2 

рдбреЗрдЯрд╛рдмреЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рд╕реНрдХреАрдорд╛
рдбреАрдмреА рдЯреЗрдмрд▓ рд╕реНрдХреАрдорд╛

рдЬрд╛рд░реА рд░рдЦрд╛ рдЬрд╛рдПред

Source: https://habr.com/ru/post/In193166/


All Articles