2017-06-15 15 views
1

ご参考までにご質問ください。テーブルから特定の列を取得し、日付順に並べ、150行しか抽出しません。私はたくさんの組み合わせを試しました。しかし、私は、それがどのように動作するかをポイント取得いけない:sortByが仕事をしたいいけない理由Laravel Eloquent SELECT sortBy with limit 150行

public function get() 
    { 
     Excel::create('Bids-' . date("Y/m/d"), function($excel) { 
      $excel->sheet('Favourites', function($sheet) { 
       $comments = Comment::select('auction_name','bid','lot_date','company', 'model_name_en', 'body','grade_en', 'mileage_num', 'model_year_en', 'start_price_en')->sortBy("lot_date", 'desc')->take(150)->get(); 
       $sheet->fromModel($comments); 
      }); 
     })->download('xls'); 
    } 

してくださいを、いくつかのいずれかが、間違って何イムを私に説明できますか?

答えて

2
$comments = Comment::select('auction_name','bid','lot_date','company', 'model_name_en', 'body','grade_en', 'mileage_num', 'model_year_en', 'start_price_en')->orderBy("lot_date", 'desc')->take(150)->get(); 

通知用途は、sortBy()の代わりにorderBy()です。

+0

、それは仕事をした適切な形式を提供し、あなたの答え – Ray

+0

を説明してください実際に、問題は、私はsortBy' 'の代わりに' orderBy'を使用する必要があることにありました –

0

実際に私は解決策を見つけましたが、まだそれを得ることはほとんどありません。

これがソリューションです:

Excel::create('Bids-' . date("Y/m/d"), function($excel) { 
      $excel->sheet('Favourites', function($sheet) { 

       $comments = Comment::select('auction_name','bid','lot_date','company', 'model_name_en', 'body','grade_en', 'mileage_num', 'model_year_en', 'start_price_en')->take(150)->get(); 
       $result = $comments->sortByDesc('lot_date'); 
       $sheet->fromModel($result); 
      }); 
     })->download('xls');