2016-05-24 13 views
0

createdBatメソッドを使用して、created_atフィールドの降順にレコードをソートするとします。しかし、私のコードは私のorderByメソッドを取っていません。何が問題なのか分かりません。以下は私のコードです。laravel上のorderByメソッド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

を試してみてください!! –

+0

try - > orderBy( '​​created_at'、 'desc'); –

+0

私はgroupByを使用しているので、ここでorderByを使用できませんでした。ここで見つけることができます(DB :: raw( "(max(created_at)from ordre from ordre.id = hour_logging.ordre_id order by created_at desc)as sub") – cathy123

答えて

0

は `orderBy`がさえたコードでは使用されません

->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 )as sub "))私は別の方法で私のorderByメソッドを使用しました – cathy123

+0

OKあなたはorderByよりもgroupByが欲しい –