【发布时间】:2020-07-16 12:18:14
【问题描述】:
我有一个 PayrollController,其中包含 paySlipList() 函数。在 paySlipList() 我通过 $request 对象获得 $salary_year 和 $salary_month 。我制作了包含一些模型逻辑的 $payroll_lists 变量,并将其传递给视图页面以显示员工信息。我的问题是,如何将 $payroll_lists 变量传递给多个视图。我用谷歌搜索并找到了 View Composer 的解决方案,但在 View Composer 的 compose() 方法中我无法调用 Request 类。我的 $salary_year 和 $salary_month 是从我的视图页面接收的,因此有必要在 compose() 方法中接收它或如何从刀片视图调用 compose() 方法。请告诉我一些解决方案。下面是我的控制器功能。
public function paySlipList(Request $request)
{
$payroll_lists = collect();
$salary_year = null;
$salary_month = null;
$salary_year = $request->get('salary_year');
$salary_month = $request->get('salary_month');
$payroll_lists = Payroll::where('gross_salary', '!=', 'null')
->where('salary_year', $salary_year)
->where('salary_month', $salary_month)
->where('is_payroll', '=', '1')
->where('net_salary', '<>', '0')
->with('employee')
->get();
if(count($payroll_lists) == 0)
{
return redirect()->route('payroll.payslip.index')
->with("error", 'No payroll generated for selected year or month!');
}
return view('backend.payroll.payslip_list',
compact('payroll_lists','salary_year','salary_month'));
}
这是刀片视图,
<form action="{{ URL::route('payroll.payslip.sendPaySlipMail') }}" method="post">
@csrf
<input type="hidden" name="salary_year" value="{{$salary_year}}">
<input type="hidden" name="salary_month" value="{{$salary_month}}">
<div class="box-header">
<div class="box-tools pull-right">
<button type="submit">Send Payslips to Emails</button>
</div>
</div>
</form>
任何帮助将不胜感激!
【问题讨论】:
-
传递给会话
-
您将错误的名称传递给
compact...检查文档中的compact函数.. 我建议在您知道它的作用和它的缺陷之前不要使用它(就像在 PHP v 7.3.0 之前默默地不包括丢失的表格符号)......还描述了你实际想要做的事情,你描述的你想做的事情很可能就像一个 XY 问题 -
我知道如何使用compact(),这是一个输入错误,我已经编辑了一个问题,抱歉
标签: laravel