En utilisant laravel et je crée une boîte de sélection sur un formulaire. J'utilise l'assistant pour créer la boîte de sélection et tout fonctionne correctement.
Je récupère les données de la boîte de sélection à partir d'une base de données et utilise les éléments suivants pour récupérer les données:
$data = model::lists('name','id')
Encore une fois tout fonctionne bien et cela retourne le tableau attendu
Mon problème est que je n'arrive pas à trier cette liste - j'ai essayé d'ajouter orderBy () mais pas de joie.
Existe-t-il une méthode laravel autre que l’utilisation d’une fonction php native?
Vous pouvez mettre ce que vous voulez, puis listez-le. Je veux dire:
model::orderBy('orderByColumn')->lists('name', 'id');
Tant que lists
est la dernière méthode de la chaîne, les autres méthodes fonctionnent parfaitement.
À partir de Laravel version 5.3 lists
va être obsolète , utilisez pluck
à la place:
model::orderBy('orderByColumn')->pluck('name', 'id');
Tu peux essayer:
$data = model::select('name','id')->orderBy('name');
Si cela ne fonctionne pas, lancez une ->get()
à la fin:
$data = model::select('name','id')->orderBy('name')->get();
quand je
dd(YourModel::pluck('name', 'id'));
Je vois qu’il s’agit de la classe de collection, alors j’ai trouvé la collection laravel, puis la méthode sortKeys ()
YourModel::pluck('name', 'id')->sortKeys();