KategorieDoctrineSymfony

Jak dodać sortowanie w relacji OneToMany w encji Doctrine ??

Dodanie sortowania w SQL-u jest trywialnie proste, wystarczy klauzula ORDER BY i koniec, ale jak uzyskać ten sam efekt przy zastosowaniu relacji OneToMany ( jeden do wielu ) w encji Doctrin-a ??

Rozwiązanie jest trywialnie proste. Musimy mieć zaimportowaną odpowiednią przestrzeń nazw.

use Doctrine\ORM\Mapping as ORM;

A następnie dodajemy adnotację OrderBy. Jak w przykładzie poniżej.

/**
 * @ORM\OneToMany(targetEntity="App\Entity\Player", mappedBy="club")
 * @ORM\OrderBy({"fullName" = "ASC"})
 */
private $players;

Gdzie w OrderBy przebazujemy obiekt, który jako klucz przyjmuje nazwę kolumny, a rodzaj sortowania jako wartość. Prototym można by było zapisać jako:

@ORM\OrderBy({"nazwa_pola_encji" = "ASC|DESC"})

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *