https://yajrabox.com/docs/laravel-datatables/master/edit-column示例说明
$model = App\User::query();
return DataTables::eloquent($model)
->addColumn('intro', function(User $user) {
return 'Hi ' . $user->name . '!';
})
->toJson();
我不知道谁是用户?是用户作为$ User?用户是每行吗?
所以我试试
$search_alls=
DB::table('a16')
->select('*')
->where('name','=','john')
->get();
return DataTables::collection($search_alls)
->addColumn('newclass', function(User $user) {
return 'Hi ' . $user->id . '!';
})
->toJson();
我遇到了常见错误
DataTables警告:table id = users-table - Ajax错误。有关此错误的详细信息,请参阅http://datatables.net/tn/7
如何在添加或编辑列时使用闭包? 我想使用if条件添加一个列值来显示图标。
以下是编辑示例我仍然不知道如何使用,因为我不知道哪个是使用或$ user?有人能为我解释一下吗?感谢〜
use DataTables;
Route::get('user-data', function() {
$model = App\User::query();
return DataTables::eloquent($model)
->editColumn('name', function(User $user) {
return 'Hi ' . $user->name . '!';
})
->toJson();
});
答案 0 :(得分:0)
尝试一下:
$data = App\User::select('*')
->where('name','=','john');
return DataTables::collection($data)
->addColumn('newclass', function($data) {
return 'Hi ' . $data->name . '!';
})
->toJson();
此外,如果要尝试显示HTML内容,则需要将创建的列的名称(在这种情况下为“ newclass”)添加到datatables配置文件的“原始”参数中。让我知道是否有帮助!
答案 1 :(得分:0)
你明白escapeColumns([])的作用吗?
在我看来,它通过设置 NO 列来应用 HTML 转义来禁用所有 HTML 转义。这可能是解决一个问题的一种简单方法,然后在其他情况下导致您陷入危险境地。
在 addColumn 之后附加 escapeColumns([])
->addColumn(){...}
->escapeColumns([])