Php 使用for loop laravel保存到阵列中
我有一个方法来处理来自动态表单的请求Php 使用for loop laravel保存到阵列中,php,laravel,laravel-5.4,Php,Laravel,Laravel 5.4,我有一个方法来处理来自动态表单的请求 public function step2(Request $request) { $this->validate($request, [ 'title.*' => 'required', 'f_name.*' =>'required', 'l_name.*' =>'required', 'dob_month.*' =>'required', 'do
public function step2(Request $request)
{
$this->validate($request, [
'title.*' => 'required',
'f_name.*' =>'required',
'l_name.*' =>'required',
'dob_month.*' =>'required',
'dob_day.*' =>'required',
'dob_year.*' =>'required',
'gender.*' =>'required',
'email.*' =>'required',
'contact.*' =>'required',
'address1.*' =>'required',
'address2.*' =>'required',
'town.*' =>'required',
'state.*' =>'required',
'mailbox.*' =>'required',
'insurance.*' =>'required',
]);
$data = array(
for ($i=0; $i <$request->limit ; $i++){
"title$i" => $request->title[$i],
"f_name$i" => $request->f_name[$i],
if (!isEmpty($request->m_name)) {
"m_name$i" => $request->m_name[$i],
}
"l_name$i" => $request->l_name[$i],
"dob_month$i" => $request->dob_month[$i],
"dob_day$i" => $request->dob_day[$i],
"dob_year$i" => $request->dob_year[$i],
"gender$i" => $request->gender[$i],
"email$i" => $request->email[$i],
"contact$i" => $request->contact[$i],
"address1$i" => $request->address1[$i],
if (!isEmpty($request->m_name)) {
"address2$i" => $request->address2[$i],
}
"town$i" => $request->town[$i],
"mailbox$i" => $request->mailbox[$i],
"insurance$i" => $request->insurance[$i],
}
Mail::send('emails.contact', $data, function($message) use ($data){
$message->from(''sender@demo.com);
$message->to('receiver@demo.com');
$message->subject("!!New Mail!!");
});
);
return view('success');
}
公共功能步骤2(请求$Request)
{
$this->validate$请求[
'title.*'=>'required',
'f_name.*'=>'required',
'l_name.*'=>'required',
'dob_month.*'=>'required',
'dob_day.*'=>'required',
'dob_year.*'=>'required',
'性别。*'=>'必填',
'email.*'=>'required',
'联系人。*'=>'必填',
'address1.*'=>'required',
'address2.*'=>'required',
'town.*'=>'required',
'state.*'=>'required',
'邮箱。*'=>'必需',
'保险。*'=>'必需',
]);
$data=数组(
对于($i=0;$i限制;$i++){
“标题$i”=>$request->title[$i],
“f_name$i”=>$request->f_name[$i],
如果(!isEmpty($request->m_name)){
“m_name$i”=>$request->m_name[$i],
}
“l_name$i”=>$request->l_name[$i],
“月结日$i”=>$request->月结日[$i],
“dob_日$i”=>$request->dob_日[$i],
“dob_年$i”=>$request->dob_年[$i],
“性别$i”=>$request->gender[$i],
“email$i”=>$request->email[$i],
“联系人$i”=>$request->contact[$i],
“address1$i”=>$request->address1[$i],
如果(!isEmpty($request->m_name)){
“address2$i”=>$request->address2[$i],
}
“town$i”=>$request->town[$i],
“邮箱$i”=>$request->mailbox[$i],
“保险$i”=>$request->insurance[$i],
}
邮件::发送('emails.contact',$data,函数($message)使用($data){
$message->from(“”)sender@demo.com);
$message->to($message)receiver@demo.com');
$message->subject(!!新邮件!!”);
});
);
返回视图(“成功”);
}
我正在尝试使用for循环将所有传入请求保存在数组中,以便将其作为电子邮件发送。但我有一个错误
分析错误:语法错误,意外的'for'(T_for),应为'”
。解决此问题的最佳方法是什么。您可以使用$key
=>$value
对创建如下数组:
$data = array();
foreach($request->title as $key=>$value){
$insert = array();
$insert['title'.$key] = $value;
$insert['f_name'.$key] = $request->f_name[$key];
if (!isEmpty($request->m_name)) {
$insert['m_name'.$key] = $request->m_name[$key];
}
$insert['l_name'.$key] = $request->l_name[$key];
$insert['dob_month'.$key] = $request->dob_month[$key];
$insert['dob_day'.$key] = $request->dob_day[$key];
$insert['dob_year'.$key] = $request->dob_year[$key];
$insert['gender'.$key] = $request->gender[$key];
$insert['email'.$key] = $request->email[$key];
$insert['contact'.$key] = $request->contact[$key];
$insert['address1'.$key] = $request->address1[$key];
if (!isEmpty($request->m_name)) {
$insert['address2'.$key] = $request->address2[$key];
}
$insert['town'.$key] = $request->town[$key];
$insert['mailbox'.$key] = $request->mailbox[$key];
$insert['insurance'.$key] = $request->insurance[$key];
array_push($data, $insert);
}
现在,将此
$data
与邮件一起发送。您不能在数组中运行for循环。这就是为什么它会给出一个错误。尝试在数组外使用for循环来填充数组中的数据@tanja forsberggy您应该在数组外循环,并在for循环内附加到数组中请检查行->$message->from(“”)sender@demo.com);@尼廷约翰:这只是一个打字错误。@ParthGoswami解决这个问题的最佳方法是什么?