2016-03-22 6 views
-1

Hallo Ich habe eine Abfrage, die alle Kategorienamen abruft und sie im Frontend anzeigt. jetzt ist das Problem, dass Kategorienamen einen Feldnamen haben, der andere genannt wird (es könnte wie andere Früchte oder anderes Gemüse etc. sein). Jetzt notieren die anderen Namen, die ich möchte, dass sie in die letzte Sammlung kommen, die ich bekomme.Wie bestelle und sortiere ich meine Datensätze von eloquent

Die Abfrage

$subcat = Category::where('parent_category_id', 62)->where('is_active', 1)->lists('name', 'id'); 

What It Gonna Rückkehr ist

Illuminate\Support\Collection Object 
    (
     [items:protected] => Array 
     (
      [64] => Grapes 
      [65] => Pineapple 
      [66] => Cranberry 
      [67] => Strawberry 
      [68] => Pomogranate 
      [69] => Others //like this 
      [71] => Orange & Apple 
      [72] => Guava & Mango 
      [73] => Mixed Fruit 
      [384] => Other Juices //another one 
      [395] => Concentrates 
     ) 

    ) 

ich die anderen Feldnamen in der letzten platzieren möchten.

Bitte assistieren Sie mir.

+1

Mögliches Duplikat von [So definieren Sie eine benutzerdefinierte ORDER BY-Bestellung in mySQL] (http://stackoverflow.com/questions/9378613/how-to-define-a-custom-order-by-order-in-mysql) – Tomasz

+0

Siehe [hier] (https://laravel.com/docs/5.1/queries#ordering-grouping-limit-and-offset) – fusion3k

+0

Es ist traurig, dass Leute aufgehört haben, in die Dokumentation zu gehen und nach den Lösungen zu suchen (wenn es existiert, bereits) .. Downvote von mir für die nicht durch die Dokumentation gehen: https://laravel.com/docs/5.1/queries#Ordering-grouping-limit-and-offset –

Antwort

0

Eine Lösung hierfür ist das Hinzufügen einer Sort_Order Spalte zu Ihrer Tabelle, und ändern Sie dann Ihre vorhandene Abfrage so etwas wie;

$subcat = Category::where('parent_category_id', 62)->where('is_active', 1)->orderBy('Sort_Order','desc')->lists('name', 'id'); 

diese Weise können Sie ausdrücklich die Sortierreihenfolge selbst in der Datenbank einstellen können, ohne auf das eloquent Modell bauen durch die Sortierreihenfolge mehr als Art zu tun, die Sie angegeben.

Verwandte Themen