【发布时间】:2019-01-22 03:46:44
【问题描述】:
我正在使用 Laravel 5.6、PHP 7.1、XAMPP。我的 URL 包含来自一个控制器的值并在之前定义。 我的问题是,如何在不传递值的情况下获取 laravel URL 中的最后一个值。我下面的代码也将显示问题。
这是我的 Ajax:
$(document).ready(function() {
$('#student_table').DataTable({
"processing": true,
"serverSide": true,
"ajax": "{{ route('leads.getdata') }}",
"columns":[
{ "data": "group_id" },
{ "data": "customer_id" },
{ "data": "customer_id" },
{ "data": "action", orderable:false, searchable: false},
{ "data":"checkbox", orderable:false, searchable:false}
]
});
我的路线:
Route::get('leads/getdata', 'Controller@getdata')->name('leads.getdata');
控制器.php
function getdata(Request $request)
{
//$id = $request->input('id');
$students = GroupCustomer::select('id', 'name', 'address')->where('user_id', '=', $id);
return Datatables::of($students)
->addColumn('action', function($student){
return '<a href="/customers/'.$student->id.'" class="btn btn-xs btn-primary eye" id="'.$student->id.'"><i class="glyphicon glyphicon-eye-open"></i></a><a href="#" class="btn btn-xs btn-danger delete" id="'.$student->id.'"><i class="glyphicon glyphicon-remove"></i></a>';
})
->addColumn('checkbox', '<input type="checkbox" name="student_checkbox[]" class="student_checkbox" value="{{$id}}" />')
->rawColumns(['checkbox','action'])
->make(true);
}
当前 URL 是:http://localhost:8000/leads/6,因为我需要获取 '6' 值并将其传递给查询以获取该用户的姓名、地址。目前,它在没有“where”声明的情况下工作。但是,我只想显示 user_id = '6' 的名称和地址。
有没有办法在不改变 Ajax 和路由的任何内容的情况下获得这个“6”值?
【问题讨论】:
-
我不明白你的问题,但我想你问的是route parameters?您也可以使用route model binding,因此您将获得整个
GroupCustomer模型,而无需在控制器中进行任何查询。检查那些文档,它们有帮助吗?如果不是,请尝试澄清您的问题,我不确定您在问什么。 -
是的,完全正确。我尝试在路由中绑定数据以将它们传递到下一页,但它一直显示错误,您可以告诉我如何在此 Ajax 脚本中绑定数据。
标签: php ajax laravel laravel-5