Laravel-datatables: рдпрдЬрд░рд╛ рдбреЗрдЯрд╛рдЯреИрдмрд▓реНрд╕ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рдЦреЛрдЬ рд░рд╣рд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 7 рдЬреВрди 2016  ┬╖  17рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: yajra/laravel-datatables

рд╢реБрдн рджрд┐рд╡рд╕!

рдореБрдЭреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдЯреИрдмрд▓реНрд╕ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреА рдЦреЛрдЬ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред рдХреЗрд╡рд▓ рдЯреНрд░реИрдХрд┐рдВрдЧ_рдЖрдИрдбреА рдХреЙрд▓рдо рдЦреЛрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдЦреЛрдЬреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХреЙрд▓рдо рдЪрд╛рд╣рд┐рдПред

рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдХреНрд╡реЗрд░реА php рдХреЛрдб рд╣реИ:

$result = Document::join('user','document.user_id','=','user.id')
->join('classification','document.classification_id','=','classification.id')
->select('document.id',DB::raw('CONCAT(document.tracking_type,"-",document.tracking_date,"-",document.tracking_seq_no) AS tracking_id'),'document.date_prepared','document.subject','classification.description as doc_class')
->orderBy('document.created_at','desc')->get();

return Datatables::collection($result)
->addColumn('check',function($record){
    return '<input type="checkbox" name="check['.$record->id.']" class="checkboxes" value='.$record->id.'>';})
->addColumn('action',function($record){
    return '<a href="/records/view/' . $record->tracking_id . '">View Record</a></a>';})
->addColumn('document.tracking_id',function($record){
    return $record->tracking_id;})
->editColumn('document.doc_class',function($record){
    return $record->doc_class;})
->addColumn('document.subject',function($record){
    return $record->subject;})
->addColumn('document.date_prepared',function($record){
    return date('F d, Y', strtotime($record->date_prepared));})
->make(true);

рдЬреЗрдПрд╕ рдШреЛрд╖рдгрд╛:

docstable = $('.docstable').DataTable({
    processing: true,
    serverSide: true,
    ajax: "/ajax/docrec"
    columnDefs: [
        {targets:[0,1], orderable:false}
    ],
    columns: [
        {data:'check'},
        {data:'action'},
        {data:'tracking_id',name:'document.tracking_id'},
        {data:'doc_class',name:'document.doc_class'},
        {data:'subject',name:'document.subject'},
        {data:'date_prepared',name:'document.date_prepared'}
    ]
});

рдХреНрдпрд╛ Bllim Datatables рдХреА рддрд░рд╣ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ php рдХреЛрдб рдореЗрдВ searchColumns () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЙрд▓рдо рдЦреЛрдЬ рд╕рдХрддрд╛ рд╣реИ? рдзрдиреНрдпрд╡рд╛рдж

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

рд╣рд╛рдп @ChaosPower рдФрд░ рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ App $this->mainRepo->model рдореЙрдбрд▓ рд╕реЗ
рдореИрдВрдиреЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рд╣реИ (рдореЗрд░реЗ рднрдВрдбрд╛рд░ рд╕реЗ):
$query = $this->model->with($with);
$dataTable ?: $query->orderBy($orderBy, $sort);
return !$dataTable ? $query->get($columns) : $query->select($columns);

рдореИрдВ рдЕрдкрдиреЗ рдореЙрдбрд▓ рд╕реЗ рд╕рднреА рдбреЗрдЯрд╛рдЯреЗрдмрд▓реНрд╕ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдпрджрд┐ рдбреЗрдЯрд╛рдЯреЗрдмрд▓ рд╡реЗрд░рд┐рдПрдмрд▓ рдЧрд▓рдд рд╣реИ, рддреЛ рдХреЛрдИ рднреА рдСрд░реНрдбрд░рд┐рдВрдЧ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдФрд░ рдореИрдВ select('*') рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рдЕрдВрдд рдореЗрдВ, рдЬрдВрдЬреАрд░ рд╡рд┐рдзрд┐ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддреА рд╣реИ:
$this->model->with('relation')->select('*'); рдЬрд╣рд╛рдВ $this->model App\Models\User ред

рд╕реНрддрдВрдн рдЖрджреЗрд╢ рдЕрдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╛рда рдЦреЛрдЬ рдХрд╛ рдЕрднреА рднреА рдЦреЛрдЬ рдкрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реИред рд╕рднреА рдкрд░рд┐рдгрд╛рдо рдореЗрд░реЗ рдЗрдирдкреБрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
рдХреНрдпрд╛ рдореИрдВрдиреЗ рдлрд┐рд░ рд╕реЗ рдХреБрдЫ рдЧрд▓рдд рдХрд┐рдпрд╛ рд╣реИ?

рд╣рдо рдпрд╣рд╛рдВ рдЕрдкрдирд╛ рдЦреЛрдЬ рдЗрдирдкреБрдЯ рджреЗрдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд╕рднреА 3 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА 'рдореЗрд░реЗ рдЦреЛрдЬ рдореВрд▓реНрдп' рдЗрдирдкреБрдЯ рдореЗрдВ рдХреБрдЫ рднреА рд╡рд╛рдкрд╕ рди рд╣реЛред
capture

рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ

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

рд╕рднреА рд╕реНрддрдВрднреЛрдВ рдореЗрдВ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗ рдЖрдк рдЬреБрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдбреЗрдореЛ рдкрд░ рдЖрдкрдХреЛ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдирд╛рдо рдХреИрд╕реЗ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рд╣реИрдВред

BTW, рдХреНрдпреЛрдВ рд╡рд╛рдХреНрдкрдЯреБ рдХреЗ рдмрдЬрд╛рдп рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреА рдХреНрд╡реЗрд░реА рдкрд░ get() рдирд┐рдХрд╛рд▓реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп return Datatables::eloquent($result) рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ?

рдЕрд╕реНрд╕рд▓рд╛рдо рдУ рдЕрд▓реИрдХреБрдо !
рдореЗрд░реЗ рд▓рд┐рдП, рд╡реИрд╢реНрд╡рд┐рдХ рдЦреЛрдЬ рд╣рдореЗрд╢рд╛ рдПрдХ рдЦрд╛рд▓реА рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛ рд░рд╣реА рд╣реИред рдЦреЛрдЬ рдХреЗ рдмрд╛рдж рдореЗрд░рд╛ рдбреЗрдЯрд╛рд╕реЗрдЯ рдЦрд╛рд▓реА рд╣реИред рдЬрдм рдореИрдВ рд╕рднреА рдЦреЛрдЬ рдЗрдирдкреБрдЯ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реВрдВ, рддреЛ рд╕рднреА рдбреЗрдЯрд╛ рд╕реЗ рднрд░ рдЬрд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдЬрд┐рддрдирд╛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реВрдВ:
$users = $this->mainRepo->model->get(); return Datatables::of($users)->make(true);

рдореИрдВ HTTP рдЦреЛрдЬ рдЕрдиреБрд░реЛрдз рдореЗрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдкрдВрдХреНрддрд┐ рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рдЦрд╛рд▓реА рд╣реЛрддрд╛ рд╣реИред рдХреНрдпрд╛ рдореБрдЭреЗ рд╡реИрд╢реНрд╡рд┐рдХ рдЦреЛрдЬ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реИ ...
capture

Datas рдореЗрд░реЗ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рд╕реЗ рдЖ рд░рд╣реЗ рд╣реИрдВ wih рдмреБрдирд┐рдпрд╛рджреА рддреМрд░ рдкрд░ рдПрдХ $ рдореЙрдбрд▓ рдХрд░рддреЗ рд╣реИрдВ-> рдкреНрд░рд╛рдкреНрдд () рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЖрджреЗрд╢ / рдЫрдБрдЯрд╛рдИ рдХреЗред рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдХреБрдЫ рд╡реИрд╢реНрд╡рд┐рдХ рдФрд░ рдХреЙрд▓рдо рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдореБрдЭреЗ рдЕрдкрдиреЗ рдПрд▓реЛрдХреЗрдВрдЯ рдЕрдиреБрд░реЛрдз рдореЗрдВ 'рдЬрд╣рд╛рдВ' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдпрд╛ рдХреНрдпрд╛ рдпрд╣ DataTables рдлрд╝рд┐рд▓реНрдЯрд░ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреЗрд╣рддрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рд╣реИ? (рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реИ, рдФрд░ рдореБрдЭреЗ рд╕рднреА рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред

рд▓реЗрдХрд┐рди рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдпрд╣ рдХрд┐рд╕реА рднреА рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЦреЛрдЬ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреЙрд▓рдо рдЦреЛрдЬ рдХреЗ рдЕрдиреБрд╕рд╛рд░ ... рдореИрдВрдиреЗ рдЙрди рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдмрд┐рдирд╛ рд╕рдлрд▓рддрд╛ рдХреЗ: рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рдЦрд╛рд▓реА рд╣реЛрддрд╛ рд╣реИ, рдкрд╣рд▓реЗ рдЦреЛрдЬ рдЪрд░рд┐рддреНрд░ рдореЗрдВ рдбреЗрдЯрд╛ рдпреЛрдЧреНрдп рдЦрд╛рд▓реА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рднреА рдлрд╝рд┐рд▓реНрдЯрд░ рди рднрд░рд╛ рд╣реЛ, рддреЛ рд╕рднреА рдбреЗрдЯрд╛ рд╕реЗ рднрд░реЗ рдФрд░ рд╡рд╛рдкрд╕ рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВ ...

рдореВрд▓ рдкреНрд░рд╢реНрди рдпрд╣ рд╣реИ: рдХреНрдпрд╛ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдореЗрдВ рдХреБрдЫ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ / рдореЙрдбрд▓ рдбреЗрдЯрд╛ рд╕реЗ рдЦреЛрдЬ, рдпрд╛ рдХреНрдпрд╛ рдХреЗрд╡рд▓ рд╕реНрддрдВрдн рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдФрд░ рдкреГрд╖реНрдард╛рдВрдХрди рдЙрдкрд▓рдмреНрдз рд╣реИрдВ?

рдЖрдкрдХреЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдФрд░ рдЖрдкрдХреА рдорджрдж!

PS: рдореЗрд░реА # 562 рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рдЬреБрдбрд╝рд╛

@ mtx-z рдЬрдм рдЖрдк рдЖрд╣реНрд╡рд╛рди рдХрд░рддреЗ рд╣реИрдВ -> рдкреНрд░рд╛рдкреНрдд () рдЖрдк LDT рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмрдЬрд╛рдп рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

$users = User::select(['id', 'name', 'email', 'password', 'created_at', 'updated_at']); //Eloquent Object

$users->all(); // Collection

Laravel Datatables рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд░рддрд╛ рд╣реИ -> рдорд┐рд▓рддрд╛ рд╣реИ () рдФрд░ рдореЗрд░реА рд╕рд▓рд╛рд╣ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ -> рдкреНрд░рд╛рдкреНрдд () рдХрд░реЗрдВ

return Datatables::of($users)->make(true);

рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ -> рдкреНрд░рд╛рдкреНрдд ()


$users = $this->mainRepo->model->get(); return Datatables::of($users)->make(true);

рдХреЗрд╡рд▓


$users = $this->mainRepo->model; return Datatables::of($users)->make(true);

рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдФрд░ рдЦреЛрдЬ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЖрдкрдХреЗ рдореБрдЦреНрдп рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдПред Laravel Datatables рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбрд┐рдлрд╝реЙрд▓реНрдЯ / рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рд╕рднреА рд╕реНрддрдВрднреЛрдВ рдкрд░ рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИред рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреЙрд▓рдо рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

https://datatables.yajrabox.com/eloquent/basic - рд╣реЗрдбрд░ рд╕рдВрдЪрд╛рд░рд┐рдд рджреЗрдЦреЗрдВ
https://datatables.yajrabox.com/eloquent/multi-filter-select - рджреЗрдЦреЗрдВ рд╣реЗрдбрд░ рд╕рдВрдЪрд╛рд░рд┐рдд

рд╣рд╛рдп @ChaosPower рдФрд░ рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ App $this->mainRepo->model рдореЙрдбрд▓ рд╕реЗ
рдореИрдВрдиреЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рд╣реИ (рдореЗрд░реЗ рднрдВрдбрд╛рд░ рд╕реЗ):
$query = $this->model->with($with);
$dataTable ?: $query->orderBy($orderBy, $sort);
return !$dataTable ? $query->get($columns) : $query->select($columns);

рдореИрдВ рдЕрдкрдиреЗ рдореЙрдбрд▓ рд╕реЗ рд╕рднреА рдбреЗрдЯрд╛рдЯреЗрдмрд▓реНрд╕ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдпрджрд┐ рдбреЗрдЯрд╛рдЯреЗрдмрд▓ рд╡реЗрд░рд┐рдПрдмрд▓ рдЧрд▓рдд рд╣реИ, рддреЛ рдХреЛрдИ рднреА рдСрд░реНрдбрд░рд┐рдВрдЧ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдФрд░ рдореИрдВ select('*') рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рдЕрдВрдд рдореЗрдВ, рдЬрдВрдЬреАрд░ рд╡рд┐рдзрд┐ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддреА рд╣реИ:
$this->model->with('relation')->select('*'); рдЬрд╣рд╛рдВ $this->model App\Models\User ред

рд╕реНрддрдВрдн рдЖрджреЗрд╢ рдЕрдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╛рда рдЦреЛрдЬ рдХрд╛ рдЕрднреА рднреА рдЦреЛрдЬ рдкрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реИред рд╕рднреА рдкрд░рд┐рдгрд╛рдо рдореЗрд░реЗ рдЗрдирдкреБрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
рдХреНрдпрд╛ рдореИрдВрдиреЗ рдлрд┐рд░ рд╕реЗ рдХреБрдЫ рдЧрд▓рдд рдХрд┐рдпрд╛ рд╣реИ?

рд╣рдо рдпрд╣рд╛рдВ рдЕрдкрдирд╛ рдЦреЛрдЬ рдЗрдирдкреБрдЯ рджреЗрдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд╕рднреА 3 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА 'рдореЗрд░реЗ рдЦреЛрдЬ рдореВрд▓реНрдп' рдЗрдирдкреБрдЯ рдореЗрдВ рдХреБрдЫ рднреА рд╡рд╛рдкрд╕ рди рд╣реЛред
capture

рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ

рдореИрдВрдиреЗ рдЖрдЦрд┐рд░рдХрд╛рд░ рдпрд╣ рдХрд┐рдпрд╛ :) ty

рдореИрдВ рднреА рдЕрдЪрд╛рдирдХ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рдЦреЛрдЬ рд╕рдХрддрд╛, рдореИрдВрдиреЗ рдЗрд╕ $ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛-> рдореЙрдбрд▓-> рдХреЗ рд╕рд╛рде ('рд╕рдВрдмрдВрдз') -> рдЪрдпрди ('*');
mtx-z рдХреНрдпрд╛ рдЖрдк рд╕рдорд╛рдзрд╛рди рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЕрд░реЗред рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдореЗрд░реЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдерд╛ред
рдЗрд╕-> рдореЙрдбрд▓ рдореЗрдВ рдореЗрд░реЗ рдореЙрдбрд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдЕрдкрдирд╛ рдХреЛрдб рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

\\ In controller
$result = MsCustomer::with('company')->select('ms_customers.*');
return Datatables::of($result)->make(true);

\\ In view
$('#data-table').DataTable({
    ajax: '{!! route('master.customer.data') !!}',
    columns: [
        { data: 'id', name: 'id' },
        { data: 'code', name: 'code' },
        { data: 'name', name: 'name' },
        { data: 'email', name: 'email' },
        { data: 'company.name', name: 'company.name' },
   ]
});

рдбреЗрдЯрд╛рдЯреИрдмрд▓реНрд╕ рд░рди рдФрд░ рдбрд┐рд╕реНрдкреНрд▓реЗ рдбреЗрдЯрд╛ рдореЗрдВ рд╕рдВрдмрдВрдз company.name , рд▓реЗрдХрд┐рди рд╕рдВрдмрдВрдз рдЦреЛрдЬ рдирд╣реАрдВ рд╕рдХрддреЗред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдХреЛрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдбреЗрдореЛ рдХреА рддрд░рд╣ рд╣реИ

рдореЗрд░реЗ рдкрд╛рд╕ MsCustomer рдХреЛ рдШреЛрд╖рд┐рдд рд╕рдВрд░рдХреНрд╖рд┐рдд $ рддрд╛рд▓рд┐рдХрд╛ = 'ms_customers' рдХреЗ рд╕рд╛рде, MsCustomer рдореЙрдбрд▓ рдХреЗ рдЕрдВрджрд░ 'рдХрдВрдкрдиреА' рдХрд╛ рднреА рд╕рдВрдмрдВрдз рд╣реИред рддрдм MsCompany рдореЙрдбрд▓ рдЯреЗрдмрд▓ рдирд╛рдо 'ms_companies' рдХреЗ рд╕рд╛рдеред

рдореИрдВ рдЖрдИрдбреА, рдХреЛрдб, рдирд╛рдо рдФрд░ рдИрдореЗрд▓ рдЦреЛрдЬ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╕рдВрдмрдВрдз 'company.name' рдирд╣реАрдВред рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИ?

рдореБрдЭреЗ @maengkom рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдореЗрд░реА рдЯреЗрдмрд▓ рд▓реЛрдбреЗрдб рдареАрдХ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рдЦрд╛рд▓реА рд╣реИ

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

$agenda = AgendaMasuk::with('surat')
            ->whereNotNull('surat_id')->where('group_id', $group->id)
            ->select('agenda_masuks.*');
        return Datatables::of($agenda)->make(true);

рджреГрд╖реНрдЯрд┐ рдореЗ

var table = $('#surats').DataTable({
        "jQueryUI"   : true,
        "paging"     : true,
        "lengthMenu" : [ 5, 10, 25, 50, 75, 100, "All" ],
        "autoWidth"  : false,
        "stateSave"  : false,
        "order"      : [[ 0, 'asc' ]],
        "processing" : true,
        "scrollX"    : true,
        "serverSide" : true,
        "ajax": {
            "url": $('#surats').data('url'),
            "type": "POST"
        },
        "columns": [
            {
                className: 'text-center',
                data: 'no_agenda',
                name: 'agenda_masuks.no_agenda'
            },
            {
                className: 'text-center',
                data: 'surat.no_surat',
                name: 'surat.no_surat'
            },
            {
                className: 'text-center',
                data: 'tanggal',
                name: 'agenda_masuks.tanggal'
            },
            {
                data: 'surat.sifat',
                name: 'surat.sifat',
                sortable: false
            },
            {
                data: 'surat.pengirim',
                name: 'surat.pengirim'
            },
            {
                data: 'surat.tujuan',
                name: 'surat.tujuan'
            },
            {
                data: 'surat.ringkasan',
                name: 'surat.ringkasan',
                sortable: false
            },
            {
                data: null,
                defaultContent: '-',
                name: 'disposisi',
                searchable: false,
                sortable: false
            },
            {
                data: null,
                defaultContent: '-',
                name: 'file',
                searchable: false,
                sortable: false
            }
        ]
    });

@maengkom рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдореИрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рд╡реИрд▓реНрдпреВ рдФрд░ рд░рд┐рд▓реЗрд╢рди рд╡реИрд▓реНрдпреВ (рдХреЗрд╡рд▓ рдЖрдИрдбреА) рдкрд░ рд╡реИрд╢реНрд╡рд┐рдХ рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рд╕рднреА рдореЙрдбрд▓реЛрдВ рдореЗрдВ "рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди_рдореЙрдбрд▓" рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рд╡рд┐рдЪ рдореЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрд╛рда рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдпрд╣ред рдЦреИрд░, рдореЗрд░реЗ рдбреЗрдЯрд╛ рдпреЛрдЧреНрдп рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрдиреБрд╡рд╛рдж рдХреЗ рдирд╛рдо рдХреЛ рдирд╣реАрдВ рдЦреЛрдЬ рд╕рдХрддреЗред

рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреБрдЫ рдкреИрд░рд╛рдореАрдЯрд░ (рдкрд╛рда рдЦреЛрдЬ, рдЪрдпрди рдорд╛рди ...) рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП ajax рдХреЙрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдореИрдВ рдЗрд╕ рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛рдЯреИрдм рдкрд░ рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд╛рдХреН рдХреНрд╡реЗрд░реА рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реВрдВред
рдпрд╣рд╛рдБ рд╕реЗ, рдЖрдк рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдкрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ "рдЬрд╣рд╛рдБ" рдПрдХ "рдЬрдмрдХрд┐ рдЕрдиреБрд╡рд╛рдж" рдХреЗ рд╕рд╛рде рд╣реИ рдЬрд╣рд╛рдБ "рдЕрдиреБрд╡рд╛рдж.рдирд╛рдо = 'search_value') рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИред

@nsetyo рдХреНрдпрд╛ рдЖрдкрдиреЗ рд▓реМрдЯрд╛ рд╕рдВрдЧреНрд░рд╣ рдХреА рдЬрд╛рдБрдЪ рдХреА рд╣реИ? рдХреНрдпрд╛ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдореМрдЬреВрдж рдбреЗрдЯрд╛ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ datatable рдХреА рдЬрд░реВрд░рдд рд╣реИ?

@ рдПрдордЯреАрдПрдХреНрд╕-рдЬреЗрдб рд╣рд╛рдВ рдпрд╣ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЬреБрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реВрдВ

@nsetyo @ mtx-z рдХреЗ рдорд╛рд▓рд┐рдХ рдиреЗ рдкрд╣рд▓реЗ рд╣реА рдкреБрд╖реНрдЯрд┐ рдХрд░ рджреА рдХрд┐ рдЦреЛрдЬ рд╕рдВрдмрдВрдз рдореЗрдВ рдЕрднреА рднреА рдмрдЧ рд╣реИред рдЗрд╕реЗ рджреЗрдЦреЗрдВред https://github.com/yajra/laravel-datatables/issues/698

рдореИрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЕрднреА рднреА рдкреИрдХреЗрдЬ рдХреЗ рдЕрдВрджрд░ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рд╡рд┐рдзрд┐ рдореЗрдВ рдХреЛрдб рд╕реАрдЦ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рднреНрд░рдорд┐рдд рд╣реВрдВ рдХрд┐ рдХрд╣рд╛рдВ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ЁЯШЖ

рдореЗрд░реЗ рд╕рднреА рдЦреЛрдЬ рдХреНрд╖реЗрддреНрд░ рдЕрднреА рдХрд╛рд░реНрдп рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ 1 рд╕рдорд╕реНрдпрд╛ рд╢реЗрд╖ рд╣реИред рдпрдЬрд░рд╛ (рд╕реНрд╡рд╛рдореА) рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рдбреЗрдореЛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдмрдирд╛рдпрд╛ рд╣реБрдЖ рдФрд░ рдЕрджреНрдпрддрд┐рдд рдХреНрд╖реЗрддреНрд░ рд╣реИред рдореЗрд░реА рддрд┐рдерд┐ рдФрд░ рд╕рдордп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рднреА рдПрдХ рдХреНрд╖реЗрддреНрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рд┐рдд рдкрдардиреАрдпрддрд╛ рдФрд░ рд╕рдордп рдХреЛ рдмрд╣реБрдд рдкрдардиреАрдп рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд┐рдпрд╛, рддреЛ рдбреЗрдЯрд╛ рдпреЛрдЧреНрдп рдЙрди рдирдП рд╕реНрд╡рд░реВрдкрд┐рдд рджрд┐рдирд╛рдВрдХ рдФрд░ рд╕рдордп рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдерд╛ред

рдЙрджрд╛рд╣рд░рдг: (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рджрд┐рдирд╛рдВрдХ рдФрд░ рд╕рдордп рдкреНрд░рд╛рд░реВрдк рдкреНрд░рджрд░реНрд╢рд┐рдд)
2016-08-23 14:37:25

рдореИрдВрдиреЗ рдЙрд╕реЗ рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд┐рдпрд╛:
рдЕрдЧрд╕реНрдд 23, 2016 02:37:25 PM

date('F d, Y h:i:s a',strtotime($the_given_date_and_time));

рдкреНрд░рд╛рд░реВрдкрдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдбреЗрдЯрд╛рдЯреЗрдмрд▓ рдЙрд╕ рдлрд╝реАрд▓реНрдб рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдерд╛

рдЖрдк рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рджрд┐рдирд╛рдВрдХ рд╕реЗ рдХреЙрд▓рдо рдкрд░ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ sql рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП filterColumn рдПрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

https://datatables.yajrabox.com/eloquent/joins рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛

Addcolumn рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЦреЛрдЬ рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕