Outils pour utilisateurs

Outils du site


devweb:laravel:collection (lu 6873 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:13]
edmc73
devweb:laravel:collection [26-01-2023 18:05]
edmc73 [sort sur plusieurs champs]
Ligne 43: Ligne 43:
         /** @var Collection $this */         /** @var Collection $this */
             $page = $page ?: (Paginator::resolveCurrentPage() ?: 1);             $page = $page ?: (Paginator::resolveCurrentPage() ?: 1);
-            return new LengthAwarePaginator(+            $lap = new LengthAwarePaginator(
                 $this->forPage($page, $perPage)->values(),                 $this->forPage($page, $perPage)->values(),
                 $this->count(),                 $this->count(),
Ligne 50: Ligne 50:
                 $options                 $options
             );             );
 +            $lap->setPath(url()->current());
 +            return $lap;
         });         });
     }     }
Ligne 61: 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.txt · Dernière modification: 26-01-2023 18:05 de edmc73