Таблица данных не заполняется в LaravelJquery

Программирование на jquery
Ответить
Anonymous
 Таблица данных не заполняется в Laravel

Сообщение Anonymous »

Мой код JavaScript выглядит следующим образом.

Код: Выделить всё

$(document).ready(function() {
$('#time').change(function() {
var time = $(this).val();
var url = '{{ route("owner.safety.timeOverview", ":time") }}';
url = url.replace(':time', time);

$.ajax({
type: 'GET',
url: url,
success: function(data) {

console.log(data); // I am getting values here

$('#overview').DataTable({
destroy: true,
data: data,
lengthMenu: [10, 25, 50, 75, 100],
mimeType: 'json',
columns: [
{ "data": "property_id", "title": "property_id" },
{ "data": "unit_id", "title": "unit_id" },
{ "data": "issue_date", "title": "issue_date" },
{ "data": "expiry_date", "title": "expiry_date" },
{ "data": "certified_by", "title": "certified_by" },
{ "data": "safety", "title": "safety" },
{ "data": "reminder", "title": "reminder" }
],
searchPane: {
threshold: 0
},
drawCallback: function() {
$(".dataTables_length select").addClass("form-select form-select-sm");
},
language: {
paginate: {
previous: '',
next: ''
}
}
});
}
});
});
});
Мой PHP-код выглядит следующим образом.

Код: Выделить всё

public function getAllTime($time)
{
if ($time == 'oneweek') {
$difference = Carbon::now()->endOfWeek()->addWeek();
}
if ($time == 'onemonth') {
$difference = Carbon::now()->addMonth()->endOfMonth();
}
if ($time == 'threemonth') {
$difference = Carbon::now()->addMonths(3)->endOfMonth();
}
if ($time == 'sixmonth') {
$difference = Carbon::now()->addMonths(6)->endOfMonth();
}

$propertyIds = Property::where('owner_user_id', auth()->id())->pluck('id')->toArray();

$data = Safety::with(['property', 'propertyUnit'])
->whereIn('property_id', $propertyIds)
->whereBetween('expiry_date', [Carbon::now(), $difference])
->orderBy('id', 'DESC')
->get();

return $data;
}

public function getAllDataTime($time)
{
$overviews = $this->getAllTime($time);

return datatables($overviews)
->addIndexColumn()
->addColumn('property_id', function ($overview) {
return  $overview->property ? $overview->property->name : '';
})
->addColumn('unit_id', function ($overview) {
return  $overview->propertyUnit ? $overview->propertyUnit->unit_name : '';
})
->addColumn('issue_date', function ($overview) {
return  date("d-m-Y", strtotime($overview->issue_date));
})
->addColumn('expiry_date', function ($overview) {
return  date("d-m-Y", strtotime($overview->expiry_date));
})
->addColumn('certified_by', function ($overview) {
return  $overview->certified_by;
})
->addColumn('safety', function ($overview) {
return  ucfirst($overview->type);
})
->addColumn('reminder', function ($overview) {
if ($overview->expired == 1) {
return 'Expired';
} else {
$expiryDate = Carbon::parse($overview->expiry_date);
$today = Carbon::now();
$differenceInDays = $today->diffInDays($expiryDate);

if ($expiryDate->isPast()) {
return 'Over Due';
} else {
$differenceInDays = $today->diffInDays($expiryDate);
if ($differenceInDays < 30) {
return 'Due Soon';
} else {
return 'Not Due';
}
}
}
})
->rawColumns(['reminder'])
->make(true);
}
Я получаю значения, когда использую console.log(). Но моя таблица данных пуста, как показано ниже.
Изображение


Подробнее здесь: https://stackoverflow.com/questions/785 ... in-laravel
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»