Všetky balíky
Likes for Laravel
Stav a počty
Existenciu páčika overíte cez fasádu a jeden cieľový model čítate cez handle Likes::for():
use RoundlyConsulting\Likes\Facades\Likes;
Likes::has($post); // bool — as the resolved actor
Likes::actor($user)->has($post); // bool — as any actor
Likes::for($post)->likedBy($user); // bool — default reaction type unless given
Likes::for($post)->likedBy($user, 'love');
Likes::for($post)->count(); // int — all reactions (uses an eager-loaded likes_count)
Likes::for($post)->count('love'); // int — one type (uses an eager-loaded likes_love_count)Skratka cez trait
Tie isté čítania z oboch modelov — hasLiked() a isLikedBy() idú cez Likes::for()->likedBy(), likesCount() cez Likes::for()->count():
$post->hasBeenLikedBy($user); // bool
$post->isLikedBy($user); // bool — readable alias of hasBeenLikedBy()
$user->hasLiked($post); // bool
$post->likesCount(); // int — all reactions; uses an eager-loaded likes_count when presentBez typu kontroly hľadajú predvolenú reakciu. Na overenie konkrétnej reakcie odovzdajte typ:
$post->isLikedBy($user, 'love');
$user->hasLiked($post, 'love');
$post->likesCount('love'); // int — one type; uses an eager-loaded likes_love_count when presentAko prebieha počítanie
- Bez typu spočíta všetky aktívne reakcie na modeli.
- Ak je prítomný prednačítaný atribút likes_count (withLikesCount() alebo loadCount('likes')), použije ho, takže zoznamy nespúšťajú jeden dopyt na riadok.
- S typom použije vlastný prednačítaný atribút daného typu — likes_love_count z withLikesCount('love') —, inak spustí živý počet pre daný typ. Celkový likes_count na počet s typom nikdy neodpovedá.
$posts = Post::withLikesCount()->withLikesCount('love')->get(); // both attributes on one row
foreach ($posts as $post) {
Likes::for($post)->count(); // reads likes_count — no extra query (so does $post->likesCount())
Likes::for($post)->count('love'); // reads likes_love_count
}
$post->loadCount('likes'); // or load the count onto a single modelPrejavte 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 kryptomienOdoslaní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.