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

Hotový JSON výstup pre SPA a mobilné backendy:

use RoundlyConsulting\Comments\Http\Resources\CommentResource;

return CommentResource::collection(
    $post->threadedComments()->with(['actor', 'likes', 'media'])->get(),
);
PoleObsah
idID komentára.
bodyTelo komentára.
statuspending, approved alebo hidden.
visiblePríznak viditeľnosti.
parent_idID rodičovského komentára alebo null.
lockedČi má komentár nastavený vlastný zámok vlákna.
author{ type, id } autora — len pri načítanom vzťahu actor.
likes{ count, viewer_state, breakdown } — len pri načítanom vzťahu likes.
attachments[{ id, url }] (UUID média + URL, pri súkromných prílohách podpísaná) — len pri načítanom vzťahu media.
repliesVnorené položky CommentResource — len pri načítaných replies.
created_at / updated_atČasové značky v ISO 8601.

threadedComments() je verejné vlákno, takže JSON obsahuje len viditeľné a schválené komentáre najvyššej úrovne a odpovede. Resource vykreslí čokoľvek, čo dostane — kľúč replies je akýkoľvek načítaný vzťah replies — preto mu na verejných endpointoch odovzdávajte verejné query: threadedComments() alebo CommentQuery s visible() a withReplies().

Payload likes sa vykresľuje bez diváka, takže viewer_state je stav hosťa — údaje pre konkrétneho diváka získate cez withLikedState($viewer) v query alebo likeState($viewer). URL príloh sa určujú podľa viditeľnosti každej prílohy — pri súkromných sú podpísané a krátkodobé.

Kolekcie a stránkovanie

CommentCollection zbiera CommentResource a funguje aj so stránkovaným výsledkom:

use RoundlyConsulting\Comments\Facades\Comments;
use RoundlyConsulting\Comments\Http\Resources\CommentCollection;

return new CommentCollection(
    Comments::for($post)->visible()->rootsOnly()->withReplies()->paginate(20),
);

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.