2016-12-24 78 views
0

我已经写了一个原始查询表单,我想在一个大列表中显示。所以,我想用分页。但对于原始查询->paginate(5);如何在Laravel中为原始查询分页?

这里是样品原始查询我用:

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')); 
     } 

那么,如何实现paginate()在laravel原始查询?

+0

@marcin Nabialek对不起,我找不到任何有用的解决方案,你已经标记为重复的链接。 – Hola

+0

如果您使用原始查询,则需要手动分页数据,因此您需要在查询中使用'offset'手动获取数据库中所需的数据,并将这些数据传入分页程序 –

回答