我正在创建网站。在这个网站上,我创建了一个注册表。用户可以输入详细信息,当用户单击“提交”按钮时,所有数据保存到数据库中。这是我的saveInvoice函数。在我的视图页面中,我使用了saveInvoice作为我的动作。然后我在这个函数中使用了请求输入。
public function saveInvoice(Request $request)
{
if (Auth::user())
{
$settings = Setting::find(1);
$invoiceNo=$settings->invoiceprefix.''.str_pad($settings->invoiceno, $settings->invoicepadding, 0, STR_PAD_LEFT);
$invoice= new Invoice();
$invoice->invoicereference=$invoiceNo;
$invoice->firstname=$request->fname;
$invoice->lastname=$request->lname;
$invoice->save();
$settings->invoiceno=$settings->invoiceno+1;
$settings->update();
if($invoice == null){
return redirect()->back()->with('msg','invalid request');
}
else{
return redirect()->route('invoice.preview',$invoiceNo);
}
}
}
但是,现在我想创建另一个名为sendemail的函数。在这个函数中,我想使用用户已填写该注册表单的用户输入。我可以从上面的函数中获取那些请求输入,还是有另一种方法?
public function sendemail(Request $request) {
$invoiceNo = $request->input('invoiceNo');
$fname = $request->input('fname');
$Qty = $request->input('Qty');
$price = $request->input('price');
$sendemail = $request->input('email');
$data = [];
$data['invoiceNo'] = $invoiceNo;
$data['fname'] = $fname;
$data['Qty'] = $Qty;
$data['price'] = $price;
$data['sendemail'] = $sendemail;
Mail::send(['text' => 'mail'], $data, function ($message) use ($data) {
$message->to($data["sendemail"], 'TicketBooker')->subject
('CheapEfares Air Ticket');
$message->from('kistlakall@gmail.com', 'CheapEfares');
});
}
答案 0 :(得分:1)
您可以在saveInvoice函数中调用sendemail函数,然后将Request对象传递给sendemail函数,如
public function saveInvoice(Request $request){
//save invoice code
if($invoice == null){
return redirect()->back()->with('msg','invalid request');
}
else{
$this->sendemail(Request $request);
return redirect()->route('invoice.preview',$invoiceNo);
}
}
我假设两个函数都在同一个类中,或者一个类正在扩展其他类
答案 1 :(得分:1)
您只需从代码中调用该方法即可 并且在返回该方法时,您可以设置您的回复。
Volume