我有一个系统,该系统显示具有搜索功能的系统所有可用用户的数据。我已经通过使用yajra数据表包来做到这一点。我想要的是,如果有人单击将重定向到该用户个人资料的用户行。这是控制器代码
static final int[] POWERS_OF_10 = { 1000000000, 100000000, 10000000,
1000000, 100000, 10000, 1000, 100, 10 };
static int trailingZeros(int number) {
return Arrays.stream(POWERS_OF_10) // reversed stream of of 10^n
.map(pow -> number % pow) // stream of rests
.reduce(0, (count, rest) -> (rest == 0) ? count + 1 : 0);
}
这是数据表的刀片代码
public function getUsers(){
return DataTables::of(User::query()->with('profile'))->make(true);
}
public function index(){
return view('alumni.list');
}
路由代码:
$(document).ready( function () {
$('#alumniTable').DataTable({
"processing": true,
"serverSide": true,
"ajax": "{{ route('alumni-members') }}",
columns: [
{ data: 'id' , name: 'id'},
{ data: 'name' , name: 'name'},
{ data: 'email' , name: 'email'},
{ data: 'student_id' , name: 'student_id'},
{ data: 'created_at' , name: 'created_at'},
]
});
});
答案 0 :(得分:1)
如果您需要添加路由链接列而不是在数据表中添加列
return Datatables::of(User::query()->with('profile'))
->addColumn('namelink', function ($user) {
return '<a href="' . route('users.show', $user->id) .'">'.$user->name.'</a>';
})
->rawColumns(['namelink'])
->make(true);
,并在列数组中添加列:
$(document).ready( function () {
$('#alumniTable').DataTable({
"processing": true,
"serverSide": true,
"ajax": "{{ route('alumni-members') }}",
columns: [
{ data: 'id' , name: 'id'},
{ data: 'name' , name: 'name'},
{ data: 'email' , name: 'email'},
{ data: 'student_id' , name: 'student_id'},
{ data: 'created_at' , name: 'created_at'},
{data: 'namelink', name: 'namelink', orderable: false, searchable:
false},
]
});
});
答案 1 :(得分:0)
这有效,但是稍有改变。
返回datatables()-> of($ d) -> addColumn('ab_id',function($ d){返回“
URL ('view-detail',$ d- ab_id)。“'>”。$ d-> ab_id。“”;
})-> rawColumns(['ab_id'])-> make(true);
我调用了URL函数,而不是路由