order) { case 'az': $orderby = 'name'; $orderdirection = 'asc'; break; case 'za': $orderby = 'name'; $orderdirection = 'desc'; break; case 'episode-count': $orderby = 'episodes_count'; $orderdirection = 'desc'; break; case 'newest': $orderby = 'created_at'; $orderdirection = 'desc'; break; case 'oldest': $orderby = 'created_at'; $orderdirection = 'asc'; break; default: $orderby = 'episodes_count'; $orderdirection = 'desc'; } $playlists = Playlist::where('is_private', 0) ->withCount('episodes') ->having('episodes_count', '>', 1) ->when($this->search != '', fn($query) => $query->where('name', 'like', '%' . $this->search . '%')) ->orderBy($orderby, $orderdirection) ->paginate($this->pagination); return view('livewire.playlists', [ 'playlists' => $playlists ]); } }