Hi everyone i have a very complex query to get Finance data, its like 4 Join and when the data is more than 1000 it getting slow when it loads in datatables how i can make it faster
this is the controller code for ajax :
$financial_entries = FinanceEntryMod::select([
DB::raw("ROUND((
select SUM(finance_transaction.equivalent) from finance_transaction where
finance_transaction.entry_id = financial_entries.id and
finance_transaction.type = 'credit'
), 2) as eqivalent_sum"),
'financial_entries.id',
'financial_entries.created_by',
'financial_entries.branch_id',
'financial_entries.order_id',
'financial_entries.number',
DB::raw('IFNULL(branches.name, IFNULL(v2_branches.name, "main_branch")) AS branch_name'),
'financial_entries.v2_order_id as v2_order_id',
'financial_entries.v2_document_id as v2_document_id',
'financial_entries.date',
'financial_entries.is_generated',
'financial_entries.note',
'financial_entries.created_at',
'financial_entries.updated_at',
DB::raw('
DATE_FORMAT(financial_entries.date, "%Y-%m-%d") AS new_date,
DATE_FORMAT(financial_entries.created_at, "%Y-%m-%d") AS new_created_at
')
])
->leftJoin('branches', function ($join) {
$join->on("branches.id", "=", "financial_entries.branch_id");
})
->leftJoin('finance_transaction', function ($join) {
$join->on("financial_entries.id", "=", "finance_transaction.entry_id");
})
->leftJoin('finance_accounts', function ($join) {
$join->on("finance_accounts.id", "=", "finance_transaction.account_id");
})
->leftJoin('v2_branches', function ($join) {
$join->on("v2_branches.id", "=", "finance_accounts.v2_branch_id");
})
->where('financial_entries.is_deleted', '=', '0')
->groupBy('financial_entries.id');
and in the script : im using this
"pageLength": 30,
"serverSide" : true,
"processing" : true,
"columns":
please help me to improve it thanks all
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire