1

I have written a raw Query form there I want to show in a large list. So for that I wanted to used pagination. But for raw query ->paginate(5);

Here is sample raw query I've used:

public function managementReport(){
        $managementReport = DB::select(DB::raw("SELECT members.name as name, 
                members.card_no as card_no, members.joining_date as joining_date,
                salary_terms.designation as designation, salary_terms.main_salary as main_salary,
                salary_terms.basic as basic,salary_terms.house_rent as house_rent,
                salary_terms.medical as medical,salary_terms.conveyance as conveyance,
                salary_terms.food as food,monthly_payrolls.days_on_month as days_on_month,
                monthly_payrolls.working_days as working_days,
                ((salary_terms.basic*monthly_payrolls.leave_without_pay)/monthly_payrolls.working_days) as absent,
                (salary_terms.main_salary - ((salary_terms.basic*monthly_payrolls.leave_without_pay)/monthly_payrolls.working_days)) 
                as gross_pay,monthly_payrolls.deduction,(salary_terms.main_salary -( ((salary_terms.basic*monthly_payrolls.leave_without_pay)/monthly_payrolls.working_days)+monthly_payrolls.deduction)) 
                as net_pay FROM members INNER JOIN salary_terms on members.id = salary_terms.member_id INNER JOIN 
                monthly_payrolls on salary_terms.id = monthly_payrolls.salary_term_id 
                WHERE salary_terms.is_management='1'"));
                return view("Report::management",compact('managementReport'));
        }

So How do i implement paginate() with raw query in laravel?

Hola
  • 2,163
  • 8
  • 39
  • 87
  • @marcin Nabialek sorry I couldn't find any helpful solution from the link you have marked as duplicate. – Hola Dec 24 '16 at 12:04
  • If you use raw query you need to manually paginate data, so you need to manually get data you need from database using `offset` in your query and pass those data you get into paginator – Marcin Nabiałek Dec 24 '16 at 12:10

1 Answers1

1

Try to create pagination manually using DB data.

Maybe this tutorial will be also helpful.

Alexey Mezenin
  • 158,981
  • 26
  • 290
  • 279