Laravel-datatables: рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдбреЗрдЯрд╛рдЯреЗрдмрд▓реНрд╕ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдЫрдБрдЯрд╛рдИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 17 рдЕрдЧре░ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: yajra/laravel-datatables

рдореИрдВ рдЕрдЬрд╛рдХреНрд╕ рдФрд░ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдпрдЬрд░рд╛ рдбреЗрдЯрд╛рдЯреЗрдмрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореЗрд░реА рдЦреЛрдЬ рдареАрдХ рдХрд╛рдо рдХрд░рддреА рд╣реИ рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рд╕реЙрд░реНрдЯ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдХреБрдЫ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдореЗрд░рд╛ рдирд┐рдпрдВрддреНрд░рдХ

$suppliers = DB::table("suppliers")
                        ->select(
                            'suppliers.id', 
                            'suppliers.created_at', 
                            'suppliers.email',
                            'suppliers.status', 
                            'companies.id as company_id',
                            'companies.name', 
                            'company_categories.title',
                            DB::raw('
                                (select COUNT(promotions.company_id) FROM promotions WHERE promotions.status = "pending" AND promotions.company_id = companies.id) as total')
                        )
                        ->leftJoin('companies','companies.supplier_id','=','suppliers.id')
                        ->leftJoin('company_sub_categories','company_sub_categories.id','=','companies.sub_category_id')
                        ->leftJoin('company_categories','company_categories.id','=','company_sub_categories.company_category_id')
                        ->groupBy('suppliers.id', 'suppliers.created_at', 'suppliers.first_name','suppliers.last_name', 
                            'suppliers.phone','suppliers.email','suppliers.status','suppliers.image_path','companies.name','companies.id','companies.name','company_categories.title')
                        ->orderBy('suppliers.id','DESC');

        return Datatables::of($suppliers)
            ->add_column('next_payment_date', function($suppliers){
                return date(config('constant.DATE_FORMAT'), strtotime($suppliers->created_at));
            })

            ->filter(function ($query) use ($request) {
                if (@$request->search['value']) {

                    $query->where('suppliers.email', 'like', "%{$request->search['value']}%")
                    ->orWhere('companies.name', 'like', "%{$request->search['value']}%")
                    ->orWhere('company_categories.title', 'like', "%{$request->search['value']}%")
                    ->orWhere('suppliers.id', 'like', "%{$request->search['value']}%");
                }                
            })

            ->make(true);


рдореЗрд░реЗ рдЬреЗ рдПрд╕

$(function() {

  oTable = $('#supplier').DataTable({
        "processing": true,
        serverSide: true,
        "pageLength": 25,
        ordering: true,
        searching: true,
        "sDom":"tpr",
        "dom": 'difrtp',
        ajax: '{!! route('get-supplier') !!}',
        columns: [
            { data: 'name', name: 'name' },
            { data: 'email', name: 'email' },
            { data: 'title', name: 'title' },
            { data: 'created_at', name: 'created_at' },
            { data: 'status', name: 'first_name' },
            { data: 'next_payment_date', name: 'next_payment_date' },
            { data: 'action', name: 'action' }
        ]
    });
}

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рдЖрджреЗрд╢ рд╣реИред рдпрд╣ рд╕рднреА рдЫрдБрдЯрд╛рдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдЧрд╛ред рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдирд╛ рдкрд░рд┐рдгрд╛рдо рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВред

->orderBy('suppliers.id','DESC');

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рдЖрджреЗрд╢ рд╣реИред рдпрд╣ рд╕рднреА рдЫрдБрдЯрд╛рдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдЧрд╛ред рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдирд╛ рдкрд░рд┐рдгрд╛рдо рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВред

->orderBy('suppliers.id','DESC');

рд╣рд▓ рдХрд┐рдпрд╛ред рдзрдиреНрдпрд╡рд╛рдж @CaosPower

рдореБрдЭреЗ рдЗрд╕ рдкреНрд░рд╢реНрди рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рдереА:

return self::select($select)
            ->where('language', app()->getLocale())
            ->leftJoin('content_translations', 'content_translations.content_id', 'contents.id')
            ->latest();

рдореИрдВрдиреЗ рдЕрдВрдд рдореЗрдВ get() рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝рдХрд░ рдЕрдкрдирд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдпрд╛, рдЗрд╕рд╕реЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рднреА рд╣рд▓ рд╣реЛ рдЧрдИред

return self::select($select)
            ->where('language', app()->getLocale())
            ->leftJoin('content_translations', 'content_translations.content_id', 'contents.id')
            ->latest()
            ->get();
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ahmadbadpey picture ahmadbadpey  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sangnguyenplus picture sangnguyenplus  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

nasirkhan picture nasirkhan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

FilipeBorges1993 picture FilipeBorges1993  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kamrava picture kamrava  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ