laravel - laravel:数据表不显示任何数据
问题描述
我正在生成一个数据表,当我运行我的代码时,我通过使用属于关系从其他表(城市、出口、投诉、客户)获取数据,它没有显示任何响应,也没有任何错误。请有人指出我做错了什么
这是我的脚本
<script>
$(function() {
let submit = document.getElementById('submitReport');
let table = undefined;
$.fn.dataTable.ext.errMode ='none';
let columns = [
{'data' : 'city_name', 'name' : 'City Name'},
{'data' : 'outlet_id', 'name' : 'Outlet'},
{'data' : 'complain_id', 'name' : 'Complain #'},
{'data' : 'issue_id', 'name' : 'Complain Type'},
{'data' : 'customer_name', 'name' : 'Customer Name'},
{'data' : 'customer_number', 'name' : 'Customer #'},
{'data' : 'ticket_status_id', 'name' : 'Status'},
{'data' : 'category', 'name' : 'Category'},
];
submit.onsubmit = (e) => {
debugger;
e.preventDefault();
$("#collapseOne").removeClass('show');
let paginate = document.getElementById("paginate").value;
table = $("#datatable").DataTable({
processing: true,
serverSide: true,
destroy: true,
ajax: {
url: "{!! route('report.cityreport.post') !!}",
method: "post",
data: {
complain_id: document.getElementbyID("complain_id").value,
customer_name: document.getElementById("customer_name").value,
outlet_id: $("#outlet_id").val(),
}
},
dom: 'Bfrtip',
buttons: [
'colvis', 'pageLength','copy', 'csv', 'excel', 'pdf', 'print',
],
order: [[8, 'desc']],
columns: columns,
responsive: true,
pageLength: paginate === "All" ? -1 : parseInt(document.getElementById("paginate").value),
lengthMenu: [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]]
});
table.on("error.dt", (e, settings, techNote, message) => {
toastr.error(message);
});
}
});
</script>
控制器代码
public function report(Request $request){
//dd($request);
$cityreport = $request->city_name;
$outlets = Outlet::query()->whereIn('city', $request->city_name)->get();
$complains = Complain::query()->where('id', $outlets )->get();
$customer = Customer::query()->whereIn('id',$complains)->get();
if($request->ajax()) {
return DataTables::of($query->get())
->addcolumn('city_name', '{{$city_name}}')
->editColumn('outlet_id', function (CityReport $cityreport) {
return $cityreport->outlet->name;
})
->editColumn('complain_id', function (CityReport $cityreport) {
return $cityreport->complain->id;
})
->editColumn('customer_name', function (CityReport $cityreport) {
return $cityreport->customer->name;
})
->editColumn('customer_number', function (CityWise $cityreport) {
return $cityreport->customer->number;
})
->editColumn('issue_id', function (CityReport $cityreport) {
return view('architect.datatables.issues', ['issues' => $cityreport->issues]);
})
->addColumn('category', function (CityReport $cityreport) {
return $cityreport->issues()->first()->category->name;
})
->editColumn('ticket_status_id', function (CityReport $cityreport) {
return view('architect.datatables.status', ['status' => $cityreport->ticket_status->name]);
})
->rawColumns(['ticket_status_id', 'issue_id'])
->toJson()
->make(true);
}
else {
return response()->json([], 401);
}
型号代码
class CityReport extends Model
{
protected $table = 'city_name';
public function outlet()
{
return $this->belongsTo('App\Outlet');
}
public function complain()
{
return $this->belongsTo('App\Complain');
}
public function customer()
{
return $this->belongsTo('App\Customer');
}
public function category()
{
return $this->belongsTo('App\Category');
}
public function ticket_status()
{
return $this->belongsTo('App\TicketStatus', 'ticket_status_id', 'id');
}
public function issues()
{
return $this->belongsToMany('App\Issue', 'complain_issue');
}
}
解决方案
推荐阅读
- javascript - 用Javascript计算日期的库
- angular - html2pdf中的空白页
- shell - 我在 .txt 文件中有用户名和密码。我想制作一个脚本,使用文件中的凭据向多个用户发送邮件
- c# - 维护电子邮件标头以链接回数据库对象
- json - 我如何在这个 JSON 之后创建一个 Struct 模型?
- qt - 多个 QSortFilterProxyModel 性能优化
- docker - Docker:设备上没有剩余空间
- html - 如何在不使用溢出“隐藏”的情况下隐藏滚动条?
- matrix - 如果十进制更长,Fortran-逆矩阵结果不同
- python - Python 设置失败错误 0x80070005 访问被拒绝