Таблица данных laravel требует много времени для загрузки только двух записейPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Таблица данных laravel требует много времени для загрузки только двух записей

Сообщение Anonymous »

У меня есть следующий код только с двумя записями данных
мой контроллер:

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

        if (request()->ajax()){
$spareparts = Sparepart::select(DB::raw('DATE_FORMAT(spareparts.created_at,"%d-%m-%Y") as order_date'),
DB::raw("CONCAT(users.address, ', ', regencies.name, ', ', districts.name, ', ', provinces.name) as address"),
DB::raw("CONCAT(shipping_addresses.full_address, ', ', r.name, ', ', d.name, ', ', p.name) as shipping_address"),
DB::raw("GROUP_CONCAT(distinct sp.nama order by sp.id SEPARATOR ', ') as nama_sparepart"),
DB::raw("GROUP_CONCAT(distinct sp.model order by sp.id SEPARATOR ', ') as model"),
DB::raw("GROUP_CONCAT(distinct kategori_produks.nama SEPARATOR ', ') as nama"),
DB::raw("GROUP_CONCAT(distinct sp.quantity order by sp.id SEPARATOR ', ') as quantity"),
DB::raw("GROUP_CONCAT(distinct sp.foto SEPARATOR ', ') as foto"),
'spareparts.id', 'users.name', 'users.no_hp')
->leftJoin('sparepart_products as sp', 'spareparts.id', '=', 'sp.sparepart_id')
->leftJoin('users', 'spareparts.email', '=', 'users.email')
->leftJoin('shipping_addresses', 'users.email', '=', 'shipping_addresses.email')
->leftJoin('kategori_produks', 'sp.kategori_id', '=', 'kategori_produks.id')
->leftJoin('provinces', 'users.provinsi', '=', 'provinces.id')
->leftJoin('regencies', 'users.kota', '=', 'regencies.id')
->leftJoin('districts', 'users.kecamatan', '=', 'districts.id')
->leftJoin('provinces as p', 'shipping_addresses.provinsi', '=', 'p.id')
->leftJoin('regencies as r', 'shipping_addresses.kota', '=', 'r.id')
->leftJoin('districts as d', 'shipping_addresses.kecamatan', '=', 'd.id')
->where('spareparts.is_deleted', 0)
->groupBy('spareparts.id', 'shipping_addresses.full_address','r.name', 'd.name', 'p.name',
'regencies.name', 'districts.name', 'provinces.name')
->distinct();

if($request->filled('from_date') && $request->filled('to_date')) {
$spareparts = $spareparts->whereDate('spareparts.created_at', '>=', $request->from_date)->whereDate('spareparts.created_at', 'Edit[/url]';
}
})->make();
}
мое мнение:

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

                        


Order Date
Name
Phone Number
Address
Shipping Address
{{-- Sparepart Name
Quantity
Category
Model
Sparepart Foto --}}
Action






var table_service = $('#tbl_sparepart').DataTable({
processing: true,
serverSide: true,
layout: {
topStart: {
'pageLength': 10,
buttons: [{
extend: 'csv',
text: 'Export Data',
filename: 'sparepart'
}]
}
},
scrollX: true,
ajax: {
url: '/sparepart-request',
data: function(d) {
d.from_date = $('input[name="daterange"]').data('daterangepicker').startDate
.format('YYYY-MM-DD');
d.to_date = $('input[name="daterange"]').data('daterangepicker').endDate.format(
'YYYY-MM-DD');
d.category_type = $('#category_type').val();
}
},
columns: [{
data: 'order_date',
name: 'order_date',
searchable: false
},
{
data: 'name',
name: 'users.name'
},
{
data: 'no_hp',
name: 'users.no_hp'
},
{
data: 'address',
name: 'users.address'
},
{
data: 'shipping_address',
name: 'shipping_address',
searchable: false
},
{
data: 'nama_sparepart',
name: 'sp.nama'
},
{
data: 'quantity',
name: 'sp.quantity'
},
{
data: 'nama',
name: 'kategori_produks.nama'
},
{
data: 'model',
name: 'sp.model'
},
{
data: 'foto',
name: 'sp.foto'
},
{
data: 'action',
name: 'action',
orderable: false,
searchable: false
},
]
});
и почему-то загрузка 2 записей данных занимает 10-30 секунд, но когда я удаляю group_concat из моего запроса, это ускоряет время загрузки, но я не могу удалить group_concat, так как он мне нужен в моем запросе.
Буду признателен за любую помощь, заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/791 ... wo-records
Ответить

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

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

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

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

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