2015-05-27 4 views
0

У меня проблема с красноречивым запросом. Я использую один для многих отношений, чтобы получить «MenuItems» с «Menu». Я хочу, чтобы все MenuItems конкретного меню в отсортирован по полю «SORT_ORDER» Используя код ниже:Laravel orderBy on with

Menu::where('slug', 'main-navigation')->with('MenuItems')->orderBy('MenuItems.sort_order', 'asc')->get(); 

Это не работает, можно сделать это с красноречивым? Если да, то как?

+0

да можно сделать с красноречивым. сначала есть, чем где –

+0

@ kamlesh.bar еще не работает – alishaukat

+0

У вас есть правильное отношение, у вас есть функция MenuItems в вашей модели. –

ответ

3

попробовать это

Menu::where('slug', 'main-navigation')->with([ 
    'MenuItems' => function($query) { 
      $query->orderBy('MenuItems.sort_order', 'asc') 
    } 
])->get(); 

Это будет сортировать все меню-пунктов по каждому меню как на sort_order.