Level 74
Why don't you use the built in pagination in laravel?
https://laravel.com/docs/8.x/pagination#paginating-query-builder-results
this my helper method for a pagination
if(!function_exists('paginate')){
/**
* @param $items
* @param int $perPage
* @param null $page
* @param array $options
* @return array
*/
function paginate($items, $perPage = 15, $page = null, $options = []): array
{
$page = $page ?: (Paginator::resolveCurrentPage() ?: 1);
$items = $items instanceof Collection ? $items : Collection::make($items);
$data = new LengthAwarePaginator($items->forPage($page, $perPage),
$items->count(), $perPage, $page, $options
);
return $data->toArray();
}
}
$sale_data = DB::table('transactions')
->Join('users','users.id','=','transactions.customer_id')
->selectRaw('
SUM(CASE WHEN `transactions`.`transaction_type` = 1 THEN `transactions`.`total_amount` END) AS sale,
SUM(CASE WHEN `transactions`.`transaction_type` = 1 THEN `transactions`.`max_factor_qty` END) AS max_factor_qty,
SUM(CASE WHEN `transactions`.`transaction_type` = 2 THEN `transactions`.`total_amount` END) AS sale_return,
SUM(CASE WHEN `transactions`.`transaction_type` = 2 THEN `transactions`.`max_factor_qty` END) AS max_factor_qty_return,
`transactions`.`transaction_type` AS transaction_type,
`transactions`.`route_id` AS route_id,
`transactions`.`invoice_no` AS invoice_no,
`users`.`id` AS customer_id,
`users`.`code` AS customer_code,
`users`.`name` AS customer_name
')
->whereRaw($column.$query)
->where('transactions.status', 3)
->groupBy('transactions.invoice_no', 'transactions.transaction_type');
$collection_data = paginate($sale_data->get(), $perPage, $page);
return response()->json($collection_data );
any Help?
Please or to participate in this conversation.