Я создаю таблицу данных, в которой я извлекаю данные из других таблиц (город, торговая точка, жалоба, покупатель) с помощью отношения «принадлежность», когда я запускаю свой код, он не показывает никакого ответа и ошибок нет. пожалуйста, может кто-нибудь указать, что я делаю не так
это мой сценарий
<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');
}
}