2016-05-24 4 views
0

Я хочу сортировать записи, используя метод orderBy в порядке desc в поле created_at. Но мой код не принимает мой метод orderBy. Не знаю, в чем проблема. Ниже приведен мой код.orderBy метод на laravel 5

public function getLastControll() 
{ 
    $result = Order::select(DB::Raw("(SELECT sum(hour_logging.normal_hours+hour_logging.normal_50pst+hour_logging.normal_100pst)FROM hour_logging WHERE hour_logging.ordre_id=ordre.id) AS total_hours")) 
    ->join('hour_logging','hour_logging.ordre_id','=','ordre.id','left') 
    ->addSelect('ordre.*', (DB::raw("(select max(created_at) from ordre where ordre.id=hour_logging.ordre_id order by created_at desc) as sub"))) 
    ->where('ordre.status', '>', '003') 
    ->where('ordre.main_order', 1) 
    ->groupBy('customer_id') 
    ->get(); 
    return $result; 
} 

Может кто-нибудь мне помочь?

+0

'orderBy' не используется даже в коде !! –

+0

try -> orderBy ('created_at', 'desc'); –

+0

, так как я использую groupBy, я не мог использовать orderBy здесь. так что вы можете найти его здесь (DB :: raw ("(выберите max (created_at) from ordre, где ordre.id = hour_logging.ordre_id order by created_at desc) как sub")) – cathy123

ответ

0

попробовать

->orderBy('created_at' , 'desc'); 
+0

Как я уже упоминал выше, мы не могли использовать groupBy и orderBy за один раз .. см. Эту строку (DB :: raw ("(выберите max (created_at) from ordre, где ordre.id = hour_logging.ordre_id order by created_at desc) как sub ")), где я использовал свой метод orderBy другим способом – cathy123

+0

OK, вы хотите groupBy, чем orderBy –

Смежные вопросы