NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Comments for Laravel

Čítanie a počty komentárov

Vzťahy

$post->comments;          // every comment written on the post
$post->approvedComments;  // visible + approved top-level comments, ordered per config
$user->writtenComments;   // every comment authored by the user

$comment->actor;          // the model that wrote the comment (null for anonymous)
$comment->commentable;    // the model the comment was written on

Fluentné query

Comments::query() vráti CommentQuery naprieč celým webom; Comments::for($subject) a Comments::byAuthor($author) ho vrátia už zúžený — čítaciu stranu, ktorá zrkadlí builder na zápis. Reťazte filtre a radenie, potom načítajte výsledky:

use RoundlyConsulting\Comments\Facades\Comments;

Comments::for($post)->approved()->newest()->paginate(20);
Comments::for($post)->visible()->rootsOnly()->withReplies()->get(); // public replies only
Comments::for($post)->pending()->count();
Comments::byAuthor($user)->get();
Comments::query()->hidden()->newest()->get();   // site-wide, every subject

withReplies() sa riadi viditeľnosťou query: pri query s visible() (v ľubovoľnom poradí) sa na každej úrovni načítajú len viditeľné a schválené odpovede; bez visible() sa načítajú všetky odpovede, ako pre moderátorský pohľad.

MetódaÚčel
for($subject) / byAuthor($author)Zúžia query — dajú sa reťaziť aj na Comments::query().
approved() / pending() / hidden()Filter podľa stavu moderovania.
visible()Príznak visible zapnutý A stav approved.
rootsOnly()Len komentáre najvyššej úrovne.
withReplies()Načíta vnorené odpovede až po max_depth — pri query s visible() len viditeľné a schválené, inak všetky.
newest() / oldest()Radenie podľa created_at.
orderByLikesDesc() / orderByTrending()Poradie podľa páčikov — pozrite Páčiky a poradie.
mostReported() / reportedMoreThan() / withReportCounts()Moderovacie fronty — pozrite Nahlasovanie a automatické moderovanie.
get() / paginate($perPage = 15) / count()Načíta, stránkuje alebo spočíta výsledky.
approveAll() / hideAll() / deleteAll()Hromadné moderovanie — pozrite Moderovanie.
tap($callback) / query()Upraví podkladový Eloquent builder alebo ho vráti.

Únikové cesty

Keď vstavané filtre nestačia, tap() vám odovzdá podkladový Eloquent builder a query() ho vráti:

Comments::for($post)
    ->visible()
    ->tap(fn ($query) => $query->where('created_at', '>=', now()->subWeek()))
    ->get();

$builder = Comments::for($post)->approved()->query(); // the underlying Builder<Comment>

Počty komentárov

Zobrazte „X komentárov“ vo výpisoch bez počítania pre každý riadok. Oba pomocníky nastavia atribút comments_count:

$post->loadCommentCount();        // sets $post->comments_count

Post::withCommentCounts()->get(); // adds comments_count without N+1

comments_count je to, čo vidí verejnosť: všetky viditeľné a schválené komentáre na subjekte vrátane odpovedí — tie isté záznamy ako Comment::visible(). Komentáre pending, hidden a visible(false) sa nikdy nezapočítajú.

Atribúty komentára

$comment->comment;     // the body (stored in the `comment` column)
$comment->status;      // CommentStatus enum
$comment->visible;     // bool
$comment->parent_id;   // ?int — null for top-level comments
$comment->locked_at;   // ?Carbon — set when the thread under this comment is locked
$comment->mentions;    // CommentMention rows

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.