---
title: "Scopy dopytov — Likes for Laravel | Roundly"
description: "Zoraďte podľa počtu páčikov, filtrujte, čo sa aktérovi páčilo či nepáčilo, a načítajte likes_count — skladateľne a s typmi."
url: https://roundly-consulting.com/sk/open-source/navody/likes-for-laravel/scopy-dopytov
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Likes for Laravel](https://roundly-consulting.com/sk/open-source/navody/likes-for-laravel.md)

# Scopy dopytov

HasLikes pridáva scopy dopytov pre zoznamy popularity a filtre:

```php
Post::orderByLikesDesc()->limit(10)->get();  // most-liked first (no N+1)
Post::orderByLikes()->get();                 // least-liked first
Post::whereLikedBy($user)->get();            // posts the user liked
Post::whereNotLikedBy($user)->get();         // posts the user has not liked
Post::withLikesCount()->get();               // hydrate a likes_count attribute
```

Každý scope prijíma ako posledný argument voliteľný typ reakcie a skladá sa so zvyškom dopytu. Počet s typom sa uloží do vlastného atribútu — likes\_{type}\_count —, takže sa nikdy nezamení s celkovým počtom všetkých reakcií:

```php
Post::orderByLikesDesc('love')->limit(10)->get();  // most-loved first
Post::whereLikedBy($user, 'love')->get();          // posts the user loved
Post::withLikesCount('love')->get();               // hydrate likes_love_count

Post::query()
    ->whereNotLikedBy($user)
    ->orderByLikesDesc()
    ->paginate(20);
```

## Ako sa scopy správajú

- Bez typu scopy zodpovedajú akejkoľvek reakcii — whereLikedBy($user) nájde príspevky, na ktoré používateľ reagoval akýmkoľvek spôsobom. Kontroly na inštancii (isLikedBy(), hasLiked()) naopak predvolene používajú default\_reaction.
- orderByLikes() a orderByLikesDesc() pri zoraďovaní načítajú likes\_count (pri zoradení podľa typu likes\_{type}\_count), takže každý riadok nesie svoj počet bez ďalšieho dopytu. withLikesCount() a withLikesCount('love') môžete v jednom dopyte kombinovať.
- Odobraté páčiky (soft delete) sa nikdy nezapočítavajú.

## 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/likes-for-laravel.md)
