Outils pour utilisateurs

Outils du site


devweb:laravel:collection (lu 26779 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
devweb:laravel:collection [11-12-2019 09:49] – [pagination] edmc73devweb:laravel:collection [26-01-2023 17:05] (Version actuelle) – [sort sur plusieurs champs] edmc73
Ligne 63: Ligne 63:
 $data = $data->paginate(10); $data = $data->paginate(10);
  
 +</code>
 +
 +===== sort sur plusieurs champs =====
 +Si c'était une requête sql
 +
 +  SELECT * FROM `liste_programmes` ORDER BY `date_version` DESC, `order`, `nom` 
 +
 +<code php>
 +        $filtre_programme=collect($filtre_programme)->sortBy( function($p){
 +            return [
 +                - strtotime($p->date_version),
 +                $p->order,
 +                $p->nom,
 +            ];
 +        })->values();
 +</code>
 +
 +Trier comme on veut
 +<code php>
 +        $permissions = $permissions->sortBy(function($p){
 +                switch ($p->role) {
 +                    case "administrator":
 +                        return "A";
 +                    break;
 +                    case "assigner":
 +                        return "B";
 +                    break;
 +                    case "assignable":
 +                        return "C";
 +                    break;
 + 
 +                    default:
 +                        return "Z";
 +                    break;
 +                }
 +            });
 </code> </code>
devweb/laravel/collection.1576057780.txt.gz · Dernière modification : de edmc73