Laravel Datatables Yajra服务器端无法工作200,000行

时间:2018-06-06 23:07:10

标签: laravel-5.2 server-side yajra-datatable

请帮我使用laravel 5.2和yajra数据表进行大数据数据库
这是我的脚本
Controller.php这样

public function jobstreet(){
        DB::statement(DB::raw('set @rownum=0'));
        $a = DB::select(DB::raw('SELECT @rownum  := @rownum  + 1 AS rownum, p.posisi as posisi, l.lokasi as lokasi, l.id as id, l.link as link, id_posisi FROM lowongan l INNER JOIN posisi p ON l.id_posisi = p.id'));
        $lowongan = collect();
        foreach ($a as $a) {
                $lowongan->push($a);
        }

        $datatables = Datatables::of($lowongan)->addColumn('action', function($row) {
            return '<a href="'.url("/jobstreet/detil/{$row->id}").'" title="Lihat Detil" class="btn btn-md btn-primary">Lihat</a>';
        })->addColumn('posisi', function($row) {
            $posisi = Posisi::find($row->id_posisi);
            return $posisi->posisi;
        });

         return $datatables->make(true);
    }

Javascript

$('#data-lowongan').dataTable({
            processing: true,
            serverSide: true,
            ajax: '{!! route('data.jobstreet') !!}',
            columns: [
                { data: 'rownum', name: 'rownum',searchable:false, className:"center"},
                { data: 'posisi', name: 'posisi' },
                { data: 'lokasi', name: 'lokasi' },
                { data: 'link', name: 'link' },
                { data: 'action', name: 'lihat', searchable:false, "orderable": false}
            ]
        })

如果打开本身的查询结果出现错误500(其过程200k数据)
如果查询添加了60k限制,则结果将显示为
如果本地计算机运行平稳但没有限制,但如果服务器出现500错误

0 个答案:

没有答案