Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ Π΄Π»Ρ Laravel.
ΠΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½Π°Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ·Π»ΠΎΠ² (ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²) Π΄Π΅ΡΠ΅Π²Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ SQL-Π·Π°ΠΏΡΠΎΡΡ Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ΅ΠΉ.
ΠΠ»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Β«Closure TableΒ» ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½Π½ΡΠΌ Ρ Β«Adjacency ListΒ».
ΠΠ΅ΡΠΎΠ΄ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Β«Closure TableΒ» ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ², Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ·Π»Ρ Π²Π΅ΡΠ²ΠΈ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ. ΠΠ»Ρ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΌΠ΅ΡΠΎΠ΄ Β«Closure TableΒ» ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ Ρ Β«Adjacency ListΒ».
Β«Adjacency ListΒ» ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π³ΡΠ°ΡΠ° Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΏΠΈΡΠΊΠΎΠ² Π²Π΅ΡΡΠΈΠ½. ΠΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Π΅ Π³ΡΠ°ΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· Β«ΡΠΎΡΠ΅Π΄Π΅ΠΉΒ» ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Ρ.
composer require drandin/closure-table-comments
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
ΠΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ config/app.php ΡΠ΅ΡΠ²ΠΈΡ-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ. Π‘ΡΡΠΎΠΊΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π½ΠΈΠΆΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²Π½Π΅ΡΡΠΈ Π² ΠΌΠ°ΡΡΠΈΠ² 'providers'.
\Drandin\ClosureTableComments\ClosureTableServiceProvider::class,
ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ closure-table-comments.php Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ config Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
php artisan vendor:publish --tag=config
(!) ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π² ΡΠ°ΠΉΠ»Π΅ config/closure-table-comments.php Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ°Π±Π»ΠΈΡ. ΠΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΠΎ ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
php artisan config:cache
ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΡΡΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ:
php artisan migrate
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ 2 ΡΠ°Π±Π»ΠΈΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° Π°Π²ΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π΅Π³ΠΎ Π½Π°ΠΏΠΈΡΠ°Π». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ Π½Π° Π½ΠΎΠ²ΠΎΡΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅, ΡΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ½ΠΎΡΡΠΈ Β«Π‘ΡΠ°ΡΡΡΒ» ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΊ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌΠΎΠΌΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ, Π° ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ β Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π°Π²ΡΠΎΡΠ° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
subject_id β ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ½ΠΎΡΡΠΈ Β«Π‘ΡΠ°ΡΡΡΒ». ΠΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL. ΠΡΠ»ΠΈ subject_id ΡΠ°Π²Π½ΡΠ΅ΡΡΡ NULL, ΡΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ-Π»ΠΈΠ±ΠΎ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ.
user_id β ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ½ΠΎΡΡΠΈ Β«ΠΠ²ΡΠΎΡ ΡΡΠ°ΡΡΠΈΒ». ΠΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL. ΠΡΠ»ΠΈ user_id ΡΠ°Π²Π½ΡΠ΅ΡΡΡ NULL, ΡΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΡ ΠΊΠ°ΠΊΠΎΠΌΡ-Π»ΠΈΠ±ΠΎ Π°Π²ΡΠΎΡΡ. Π’Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠΌΠΈ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΡΠ½ΠΎΡΡΡ Β«Π‘ΡΠ°ΡΡΡΒ» Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 5636 ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 7 ΡΠ΅ΡΠΈΠ» ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΡΡΠ°ΡΡΠ΅.
use Drandin\ClosureTableComments\ClosureTableService;
use Drandin\ClosureTableComments\Commentator;
$commentator = new Commentator(new ClosureTableService());
$comment = "ΠΡΠ»ΠΈΡΠ½Π°Ρ ΡΡΠ°ΡΡΡ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π».";
$id = $commentator
->setSubjectId(5636)
->addCommentToRoot($comment, 7);
Π Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ $id, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΡ ΡΡΠ°ΡΡΠ΅ Ρ ΠΊΠΎΠ΄ΠΎΠΌ 5636. ΠΠ²ΡΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 7.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΡΠ½ΠΎΡΡΡ Β«Π‘ΡΠ°ΡΡΡΒ» Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 5636 ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 43 ΡΠ΅ΡΠΈΠ» ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΠ°Π½Π΅Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΡΡΠ°ΡΡΠ΅.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ (ΠΈΠ»ΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΠ·Π»Π° Π² Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² Node), Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΎΡΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠ²Π΅Ρ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ°Π²Π΅Π½ 1.
use Drandin\ClosureTableComments\ClosureTableService;
use Drandin\ClosureTableComments\Commentator;
$commentator = new Commentator(new ClosureTableService());
$comment = "Π Π²ΠΎΡ ΠΈ Π½Π΅Ρ, Π² ΡΡΠ°ΡΡΠ΅ Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.";
$id = $commentator
->setSubjectId(2332)
->replyToComment(1, $comment, 43);
Π Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ $id, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΡ ΡΡΠ°ΡΡΠ΅ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 5636. ΠΠ²ΡΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 43.
ΠΠ΄Π΅ΡΡ Π²Π°ΠΆΠ½ΠΎ ΡΠΎ, ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ²ΡΠ·Π°Π½ Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ (Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠ°Π²Π½ΡΠΌ 1). ΠΡΠΎΠΌΠ΅ ΡΠ²ΡΠ·ΠΈ, ΡΡΠΎΠ²Π΅Π½Ρ (level) Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΠ»Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ Π΅Π³ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ.
use Drandin\ClosureTableComments\ClosureTableService;
use Drandin\ClosureTableComments\Commentator;
$commentator = new Commentator(new ClosureTableService());
$comment = "ΠΡΠ»ΠΈΡΠ½Π°Ρ ΡΡΠ°ΡΡΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π°Π²ΡΠΎΡΠ°.";
$res = $commentator->editComment(1, $comment);
ΠΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΡΠ΄Π°Π»ΠΎΡΡ, ΡΠΎ $res Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ (ΡΠ·Π΅Π» Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ) ΠΏΠΎ Π΅Π³ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ.
use Drandin\ClosureTableComments\ClosureTableService;
use Drandin\ClosureTableComments\Commentator;
$commentator = new Commentator(new ClosureTableService());
$res = $commentator->has(2);
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ Π² Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅ Π΅ΡΡΡ, ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ $res Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΡΡΡΡΡ true.
5. ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ (ΡΠ·Π»Π° Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ) ΠΏΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Node ΠΏΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π²Π΅Π½ 2.
use Drandin\ClosureTableComments\ClosureTableService;
use Drandin\ClosureTableComments\Commentator;
$commentator = new Commentator(new ClosureTableService());
$node = $commentator->getNode(2);
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 2 ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΌΠ΅ΡΠΎΠ΄ getNode Π²Π΅ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Node. ΠΠ±ΡΠ΅ΠΊΡ Node Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΠ·Π»Π΅ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π².
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠ°ΡΡΡ Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 5636, ΠΊ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΎΡΡ Π½Π°ΡΠ°Π»ΠΈ Π΄ΠΈΡΠΊΡΡΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. Π’ΠΎ Π΅ΡΡΡ, Ρ Π½Π°Ρ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π»Π°ΡΡ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π².
ΠΠΎ Π΄ΠΈΡΠΊΡΡΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π². ΠΠ½Π°ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² (ΡΠ·Π»ΠΎΠ² Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ). ΠΡΠΈ ΡΡΠΎΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΡΠ·Π»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½ ΡΡΠΎΠ²Π½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·Π»Π°, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ·Π»Π° ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ.
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ getTreeBranch
use Drandin\ClosureTableComments\ClosureTableService;
use Drandin\ClosureTableComments\Commentator;
$commentator = new Commentator(new ClosureTableService());
$nodes = $commentator
->setSubjectId(5636)
->getTreeBranch();
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Node.
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ·Π»Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π², Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ·Π»Π° Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ, ΡΠΎ Π² ΠΌΠ΅ΡΠΎΠ΄ getTreeBranch ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°.
use Drandin\ClosureTableComments\ClosureTableService;
use Drandin\ClosureTableComments\Commentator;
$commentator = new Commentator(new ClosureTableService());
$nodes = $commentator
->setSubjectId(5636)
->getTreeBranch(2);
ΠΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²ΡΠ΅Ρ ΡΠ·Π»ΠΎΠ² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ·Π»Π° 2.
ΠΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ² Π΄Π΅ΡΠ΅Π²Π° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° getTreeBranchArray.
use Drandin\ClosureTableComments\ClosureTableService;
use Drandin\ClosureTableComments\Commentator;
$commentator = new Commentator(new ClosureTableService());
$tree = $commentator
->setSubjectId(5636)
->getTreeBranchArray();
ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²Π΅ΡΠΊΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π², ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ·Π»Π°, ΡΠΎ Π² ΠΌΠ΅ΡΠΎΠ΄ getTreeBranchArray ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΠΎΠ³ΠΎ ΡΠ·Π»Π° ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² Π²ΡΠ΅Ρ ΡΠ·Π»ΠΎΠ² Π²Π΅ΡΠΊΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ·Π»Π° Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 23.
use Drandin\ClosureTableComments\ClosureTableService;
use Drandin\ClosureTableComments\Commentator;
$commentator = new Commentator(new ClosureTableService());
$ids = $commentator->getBranchIds(23);
9. ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ²Π½Ρ ΡΠ·Π»Π° ΠΏΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ·Π»Π° 23 Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ, Π½ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Node ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ getNode ΠΌΡ Ρ ΠΎΡΠΈΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½ΡΠΆΠ½Π° Π»ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΡΠΎΠ²Π½Π΅. Π§ΡΠΎΠ±Ρ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ getLevel.
use Drandin\ClosureTableComments\ClosureTableService;
use Drandin\ClosureTableComments\Commentator;
$commentator = new Commentator(new ClosureTableService());
$level = $commentator->getLevel(23);
10. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ·Π»Π° ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ (Π»ΠΈΡΡΠ°) ΠΈΠ»ΠΈ Π²Π΅ΡΠΊΠΈ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²
ΠΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π²Π΅ΡΠΊΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ (Π»ΠΈΡΡ Π² Π΄Π΅ΡΠ΅Π²Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²), ΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° delete.
ΠΠ΅ΡΠΎΠ΄ delete ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ·Π»Π° ΠΈ ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ·Π»Π°, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ» ΠΏΠ΅ΡΠ΅Π΄Π°Π½ ΡΡΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΌΡ ΡΠ΄Π°Π»ΡΠ΅ΠΌ ΡΠ·Π΅Π» 64 ΠΈ Π²ΡΠ΅Ρ Π΅Π³ΠΎ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠ², Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π΅ΡΡΡ.
use Drandin\ClosureTableComments\ClosureTableService;
use Drandin\ClosureTableComments\Commentator;
$commentator = new Commentator(new ClosureTableService());
$res = $commentator->delete(64);
ΠΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ, ΡΠ΄Π°Π»ΡΠ½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.