我正在尝试添加这个功能称为预订为他人。如果用户要订购5旅游包,用户必须输入4电子邮件的用户朋友,通知他们,他们得到了旅游包由该用户。我的想法是存储电子邮件在数组中。当我试图创建前端我得到错误count(): Argument #1 ($value) must be of type Countable|array, null given
。我如何存储数组值?
控制器:
public function store(Request $request){
$numbers = $request->numbers;
$emails = $request->email;
for($count = 0; $count < count($numbers); $count++){
emails::create([
'email'=>$emails[$count]
]);
}
return redirect ('/home/');
}
刀片文件:
<form action="{{route('EmailStore')}}" method="post">
@csrf
<div class="form-group">
<label>How many people</label>
<input type="text" required class="form-control @error ('numbers') is-invalid @enderror"
id="numbers" name="numbers" autocomplete="off">
</div>
@php
$emails = count($numbers);
@endphp
@for ($i = 0; $i < $emails; $i++)
<tr>
<td>
<label>Email.{{$i}}</label>
<input type="text" required class="form-control @error ('email') is-invalid @enderror"
id="email" name="email[]" autocomplete="off">
</td>
</tr>
@endfor
<button type="submit" class="btn btn-info" id="btn_submit"
style="background-color: #eefa69; border:none; color:black">Submit</button>
</form>
例如输入是这样的:How many book : 5
Email number 1 : a@gmail.com
Email number 2 : b@gmail.com
Email number 3: c@gmail.com
Email number 4: d@gmail.com
2条答案
按热度按时间oug3syen1#
如果
$request->number
是一个整数和一个指定数字的字符串,则可以用途:如果它是一个数组,并且需要确保:
yzxexxkh2#
将email表与user表相关联效果更好。
| 标识符|用户标识|电邮|
| - -|- -|- -|
| 一个|一个|朋友1 @电子邮件|
| 一个|一个|朋友2 @电子邮件|
| 一个|2个|朋友3 @电子邮件|
用户模型应该与booking_emails表有多对多的关系。在这之后,您可以使用attach()方法。您不需要使用循环来保存电子邮件。附加/分离
然后您可以报告:
如果您使用阵列,您可以获得这些信息,但它不会是更好的解决方案/性能。