Cześć smile.gif

Przygotowałem aplikację która ma sortować wyniki z bazy danych.

Do tego użyłem laravel i livewire.
Szukam rozwiązania dla mojej funkcji.

Mam pola name, surname, phone, newsletter itp.

Pole surname i name są jako strong, pozostałe ( phone, newsletter ) są boolean

I teraz sortowanie ma polegać na tym że surname i name alfabetycznie ASC a po ponownym kliknięciu w przycisk DESC ( i tak w kółko ) i pozostałe jako TRUE a po kliknięciu w przycisk FALSE ( i tak w kółko ).

Jak przygotować taką funkcję?
Macie jakieś pomysły?

Póki co mam tak ale czuję że to niepoprawne rozwiązanie a i nie działa tak jak napisałem...

  1. public function sorting($name)
  2. {
  3. match(true)
  4. {
  5. ($name == 'name' || $name == 'surname') AND $this->ordering === 'desc' => $this->ordering = 'asc',
  6. ($name == 'name' || $name == 'surname') AND $this->ordering === 'asc' => $this->ordering = 'desc',
  7. default => $this->ordering = 'desc',
  8. };
  9. }