因此,我只是在bravo_book_others表中添加了一个新列,该列是gender,other_name。我有一个例子,user1想为user1和user1的朋友购买3个套餐。输入如下
Name : user1
Email : user1@gmail.com
Gender : male
Name : a
Email : a@gmail.com
Gender : female
Name : b
Email : b@gmail.com
输出:
Name : user1
Email : user1@gmail.com
Gender : male
Name : a
Email : a@gmail.com
Gender : female
Name : b
Email : b@gmail.com
但我得到的输出是这样的:
Name : user1
Email : user1@gmail.com
Gender : female
Name : b
Email : a@gmail.com
Gender : female
Name : b
Email : b@gmail.com
姓名和性别被覆盖,用新的输入。我如何修复这个问题?
控制器:
foreach ($request->input('other_emails') as $email){
BookOther::create([
'booking_id'=>$booking->id,
'user_id'=>$booking->customer_id,
'gender'=>$request->input('gender'),
'other_name'=>$request->input('other_name'),
'other_emails'=>$email
]);
Mail::to($email)->send(new OthersEmail($isi_email1));
}
刀锋:
@for ($i = 1; $i < $numbers; $i++)
<div class="col-md-12">
<label >Name#{{$i}} </label>
<input type="text" class="form-control" id="other_name" name="other_name" autocomplete="off">
</div>
<!--the reason i don't user other_name[]-->
<!--Because i get error message array to string conversion-->
<div class="col-md-12">
<label >Email#{{$i}} </label>
<input type="text" class="form-control" id="other_emails" name="other_emails[]" autocomplete="off">
</div>
@endfor
1条答案
按热度按时间5lhxktic1#
您必须使用
other_name[]
,否则只有最后输入的other_name
条目会在请求中返回。对于数组到字符串转换错误,问题如上所述。other_name
是一个数组,它有索引,不能作为$request->input('other_name')
接收。这应该可以工作。我注意到的另一件事是,在
blade
foreach循环中,您是从$i = 1
开始的,请确保它正确地呈现了表单。通常索引从0
开始,但我没有您的情况的完整上下文,所以只是一个观察。