Outils pour utilisateurs

Outils du site


devweb:laravel:collection (lu 6838 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édentes Révision précédente
Prochaine révision
Révision précédente
devweb:laravel:collection [11-12-2019 10:49]
edmc73 [pagination]
devweb:laravel:collection [26-01-2023 18:05] (Version actuelle)
edmc73 [sort sur plusieurs champs]
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: 11-12-2019 10:49 de edmc73