рдореИрдВ Laravel Datatables 7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реА рддрд╛рд▓рд┐рдХрд╛ HTML рдХреЛрдб рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд░ рд░рд╣реА рд╣реИред рдпрд╣ рдкрд╣рд▓реЗ HTML рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рдирдП Laravel DataTables рдХреЛ 6 рд╕реЗ 7 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛, рддреЛ рдЗрд╕рдиреЗ HTML рдХреЛ рдХреЙрд▓рдо рдореЗрдВ рд░реЗрдВрдбрд░ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред http://prntscr.com/e11n84
рдпрд╣ рд▓рд╛рд░рд╡реЗрд▓ рдбреЗрдЯрд╛рдЯреЗрдмрд▓реНрд╕ 6 рдХреЗ рд╕рд╛рде рд╣реИ - http://prntscr.com/e11ph0
рдкрд░рд┐рдгрд╛рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ v7 рдкрд░ рдмрдЪ рдЬрд╛рддреЗ рд╣реИрдВред рдЕрднреА рддрдХ рд╕рднреА рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рд╡рд░реНрддрди рд▓реЙрдЧ рдХреЛ рдХреБрдЫ рд╕реБрд░рд╛рдЧ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдзрдиреНрдпрд╡рд╛рдж!
рдореИрдВ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ рд▓реЗрдХрд┐рди рд╕реЗрд╡рд╛ рдореЗрдВ?
@brian2694 рдирдИ рд╡рд┐рдзрд┐ ->rawColumns(['column_with_html'])
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдореБрдЭреЗ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдХрдЪреНрдЪреЗ рдХреЙрд▓рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЙрджрд╛рд╣рд░рдг?
return Datatables::of($this->users->getForDataTable($request->get('status'), $request->get('trashed')))
->editColumn('confirmed', function ($user) {
return $user->confirmed_label;
})
->addColumn('roles', function ($user) {
return $user->roles->count() ?
implode('<br/>', $user->roles->pluck('name')->toArray()) :
trans('labels.general.none');
})
->addColumn('actions', function ($user) {
return $user->action_buttons;
})
->rawColumns(['actions', 'confirmed'])
->withTrashed()
->make(true);
рдЕрдЪреНрдЫрд╛!
рд╢рд╛рдпрдж рдЕрдиреБрдорддрд┐ рджреЗрдВ
->rawColumns(['*'])
?
@divdax рд╢рд╛рдпрдж рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ->escapeColumns([])
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж рдпрд╣ рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд╣реИ
-> рдПрд╕реНрдХреЗрдк рдХреЙрд▓рдо ([]) рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред rawColumns('column_with_html') рдирд╣реАрдВ рдХрд┐рдпрд╛ред
"рдпрдЬрд░рд╛/рд▓рд╛рд░рд╡реЗрд▓-рдбреЗрдЯрд╛рдЯреЗрдмрд▓реНрд╕-рдУрд░реЗрдХрд▓" рдХреЗ рд╕рд╛рде рд▓рд╛рд░реНрд╡рд╛ 5.5 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛: "~8.0"
рдирд╛рд░рд╛, рдХрдЪреНрдЪреЗ рдХреЙрд▓рдо рдПрдХ рд╕рд░рдгреА рддрд░реНрдХ рд▓реЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХрдЪреНрдЪреЗ рдХреЙрд▓рдо (['column_with_html']) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдХреЙрд▓рдо рдореЗрдВ рджреГрд╢реНрдп рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
->editColumn('action', function(User $u){
return view('users.action-btns', ['id'=>$u->id])->render();
})
рдпрджрд┐ рдореИрдВ рдПрдХ рдХреЙрд▓рдо рдХреЛ рдПрдХ рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ рдХреНрдпрд╛ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рджреГрд╢реНрдп рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмреНрд▓реЗрдб рд╕реЗ рдмрдЪ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ? рдПрдХ рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рд╕рдВрдкрд╛рджрд┐рдд рдПрдХ рдХреЙрд▓рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ) рдХрдЪреНрдЪреЗ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ action
рдХреЙрд▓рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)ред
рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдФрд░ рдореЗрд░реЗ рджреЛрд╕реНрдд рдиреЗ рдореБрдЭреЗ -> рдПрд╕реНрдХреЗрдк рдХреЙрд▓рдо ([]), рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред
`рдЕрдЧрд░ ($ рдЕрдиреБрд░реЛрдз-> рдЕрдЬрд╛рдХреНрд╕ ()) {
$ajax = Datatables::of(Admin::query())->escapeColumns([])->make(true);
$ рдЕрдЬрд╛рдХреНрд╕ рд╡рд╛рдкрд╕ рдХрд░реЗрдВ;
}
$dataTable = $htmlBuilder
->addColumn(['data' => 'admin_id', 'name' => 'admin_id', 'class' => 'id-column', 'title' => 'Id', 'searchable' => false, 'render' => function () {
$editUrl = route('backend.staff.edit', '');
return "function(data,type,full,meta){ return '<a href=" . $editUrl . "/'+data+'>'+data+'</a>'; }";
}])
->addColumn(['data' => 'username', 'name' => 'username', 'title' => trans('default.name'), 'class' => 'name-column', 'render' => function () {
$editUrl = route('backend.staff.edit', '');
return "function(data,type,full,meta){ return '<a href=" . $editUrl . "/'+full.admin_id+'>'+data+'</a>'; }";
}])
->addColumn(['data' => 'ip_address', 'name' => 'ip_address', 'title' => trans('default.ip_address')])
->addColumn(['data' => 'last_login', 'name' => 'last_login', 'title' => trans('default.last_login'), 'class' => 'date-column', 'searchable' => false])
->addColumn(['data' => 'html_status', 'name' => 'html_status', 'title' => trans('default.status'), 'class' => 'status-column', 'searchable' => false])
->addAction(['data' => 'action_button', 'name' => 'action', 'title' => trans('default.action'), 'class' => 'actions-column'])`
@tonihidayt рдХреНрдпрд╛ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ escapeColumns([])
рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ HTML рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХреЙрд▓рдо рд╕реЗрдЯ рдХрд░рдХреЗ рд╕рднреА HTML рд╕реЗ рдмрдЪрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА HTML рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рджреВрд╕рд░реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЦрддрд░рдирд╛рдХ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕рд╣реА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рдореИрдВ @judgej рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред рдореИрдВ рд╕рднреА рдХреЙрд▓рдо рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдирд╣реАрдВ рдЙрдард╛рдирд╛ рдЪрд╛рд╣рддрд╛, рд▓реЗрдХрд┐рди рдЬрд┐рд╕реЗ рдореИрдВ рдХрдЪреНрдЪрд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╡рд╣ рдПрдХ рдПрдХреНрд╕реЗрд╕рд░ рд╣реИ рдФрд░ $datatables->rawColumns(['full_link']);
рдХреЗ рд╕рд╛рде рдХрдЪреНрдЪрд╛ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ
@yajra рдХреГрдкрдпрд╛ рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
https://datatables.yajrabox.com/eloquent/add-edit-remove-column
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА