рдореЗрд░реЗ рдкрд╛рд╕ 2 рдбреЗрдЯрд╛рдЯреЗрдмрд▓реНрд╕ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореБрдЭреЗ рдЙрд╕реА рдкреЗрдЬ рдкрд░ рджрд┐рдЦрд╛рдирд╛ рд╣реЛрдЧрд╛ред рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреЗ рдкреЗрдЬ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдбреИрд╢рдмреЛрд░реНрдб рдкреГрд╖реНрда рдХреЛ рдЙрди рджреЛрдиреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдореЗрд░реЗ рд╕рд╛рдордиреЗ рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдПрдВ:
рдореЗрд░реЗ рд╕рд╡рд╛рд▓ :
рдореЗрд░реЗ рд╕реЗрд╡рд╛рдкреНрд░рджрд╛рддрд╛ рдореЗрдВ:
public function boot()
{
View::composer(['dashboard', 'user.index'], function(\Illuminate\View\View $view){
$userTable = Datatables::getHtmlBuilder()
->addColumn(['data' => 'username', 'name' => 'username', 'title' => trans('messages.username')])
->addColumn(['data' => 'name_en', 'name' => 'name_en', 'title' => trans('messages.name (english)')])
->addColumn(['data' => 'name_jp', 'name' => 'name_jp', 'title' => trans('messages.name (japanese)')])
->addColumn(['data' => 'phone_number', 'name' => 'phone_number', 'title' => trans('messages.phone number')])
->addColumn(['data' => 'extension', 'name' => 'extension', 'title' => trans('messages.extension')])
->addAction([])
->ajax(route('user_index_data'))
;
$view->with('userTable', $userTable);
});
View::composer(['dashboard', 'group.index'], function(\Illuminate\View\View $view) {
$groupTable = DataTables::getHtmlBuilder()
->addColumn(['data' => 'username', 'name' => 'username', 'title' => trans('messages.group username')])
->addColumn(['data' => 'name', 'name' => 'name', 'title' => trans('messages.group name')])
->addColumn(['data' => 'users', 'name' => 'users', 'title' => trans('messages.active users')])
->addAction([])
->ajax(route('group_index_data'));
$view->with('groupTable', $groupTable);
});
}
рдбреИрд╢рдмреЛрд░реНрдб рдореЗрдВ .blade.php
@section('content')
<div class="row">
<div class="col-sm-6 col-xs-12">
{!! $userTable->table() !!}
{!! $userTable->scripts() !!}
</div>
</div>
<div class="row">
<div class="col-sm-6 col-xs-12">
{!! $groupTable->table() !!}
{!! $groupTable->scripts() !!}
</div>
</div>
<strong i="20">@endsection</strong>
рдореИрдВрдиреЗ рдЖрд╕рдкрд╛рд╕ рдХреБрдЫ рдЦреБрджрд╛рдИ рдХреА рдФрд░ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдорд┐рд▓ рдЧрдпрд╛ред
рдореИрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдмрд┐рд▓реНрдбрд░реЛрдВ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реВрдВ:
public function register()
{
$this->app->bind('datatables.html.userTable', function () {
return $this->app->make(Builder::class);
});
$this->app->bind('datatables.html.groupTable', function () {
return $this->app->make(Builder::class);
});
}
рдлрд┐рд░ рдмреВрдЯ рд╡рд┐рдзрд┐ рдореЗрдВ () рдореИрдВ рдмрд┐рд▓реНрдбрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рддрд╛рд▓рд┐рдХрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ 'рдЖрдИрдбреА' рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ:
public function boot()
{
View::composer(['dashboard', 'user.index'], function(\Illuminate\View\View $view){
$userTableBuilder = app('datatables.html.userTable');
$userTable = $userTableBuilder
->setTableAttribute('id', 'userTable')
->addColumn(['data' => 'username', 'name' => 'username', 'title' => trans('messages.username')])
->addColumn(['data' => 'name_en', 'name' => 'name_en', 'title' => trans('messages.name (english)')])
->addColumn(['data' => 'name_jp', 'name' => 'name_jp', 'title' => trans('messages.name (japanese)')])
->addColumn(['data' => 'phone_number', 'name' => 'phone_number', 'title' => trans('messages.phone number')])
->addColumn(['data' => 'extension', 'name' => 'extension', 'title' => trans('messages.extension')])
->addAction([])
->ajax(route('user_index_data'))
;
$view->with('userTable', $userTable);
});
View::composer(['dashboard', 'group.index'], function(\Illuminate\View\View $view) {
$groupTableBuilder = app('datatables.html.groupTable');
$groupTable = $groupTableBuilder
->setTableAttribute('id', 'groupTable')
->addColumn(['data' => 'username', 'name' => 'username', 'title' => trans('messages.group username')])
->addColumn(['data' => 'name', 'name' => 'name', 'title' => trans('messages.group name')])
->addColumn(['data' => 'users', 'name' => 'users', 'title' => trans('messages.active users')])
->addAction([])
->ajax(route('group_index_data'));
$view->with('groupTable', $groupTable);
});
}
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ:
рдЦреЛрдЬ рдФрд░ рдЫрдБрдЯрд╛рдИ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
@Mopster рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк app('datatables.html')
рдиреАрдЪреЗ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
public function boot()
{
View::composer(['dashboard', 'user.index'], function(\Illuminate\View\View $view){
$userTable = app('datatables.html')
->addColumn(['data' => 'username', 'name' => 'username', 'title' => trans('messages.username')])
->addColumn(['data' => 'name_en', 'name' => 'name_en', 'title' => trans('messages.name (english)')])
->addColumn(['data' => 'name_jp', 'name' => 'name_jp', 'title' => trans('messages.name (japanese)')])
->addColumn(['data' => 'phone_number', 'name' => 'phone_number', 'title' => trans('messages.phone number')])
->addColumn(['data' => 'extension', 'name' => 'extension', 'title' => trans('messages.extension')])
->addAction([])
->ajax(route('user_index_data'))
;
$view->with('userTable', $userTable);
});
View::composer(['dashboard', 'group.index'], function(\Illuminate\View\View $view) {
$groupTable = app('datatables.html')
->addColumn(['data' => 'username', 'name' => 'username', 'title' => trans('messages.group username')])
->addColumn(['data' => 'name', 'name' => 'name', 'title' => trans('messages.group name')])
->addColumn(['data' => 'users', 'name' => 'users', 'title' => trans('messages.active users')])
->addAction([])
->ajax(route('group_index_data'));
$view->with('groupTable', $groupTable);
});
}
Datatables::getHtmlBuilder()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдЙрджрд╛рд╣рд░рдг рд▓реМрдЯрд╛рдПрдЧрд╛, рдЬрдмрдХрд┐ IoC рдореЗрдВ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдПрдХ рдирдпрд╛ рдЙрджрд╛рд╣рд░рдг рдмрди рдЬрд╛рдПрдЧрд╛ред
@ рдпрдЬреНрдЮ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ! рдзрдиреНрдпрд╡рд╛рдж!