php - 默认情况下如何正确显示存储在用户表中的国家/地区?
问题描述
我有一个方法“displayRegistrationPage()”来显示会议注册页面。在此方法中返回变量 $countries,该变量返回一个包含国家/地区的数组,每个国家/地区在数组中显示如下:“DE”=>“Germany”。
public function displayRegistrationPage(Request $request, $id, $slug = null)
{
$conference = Conference::find($id);
$selectedRtypes = Session::get('selectedRtypes');
$total = Session::get('total');
$countries = Facades\Countries::all();
return view('conferences.registration',
['selectedRtypes' => $selectedRtypes, 'total' => $total, 'id' => $id,
'slug' => $slug, 'countries' => $countries, 'conference' => $conference]);
}
然后在注册页面我有一个表格,用户需要介绍他的增值税号和他的国家,所以我在下面有这个表格字段。但是,如果用户已经将增值税和国家/地区存储在 users 表中,我想默认显示该值,因此用户不需要引入该值。但是用户可能想要引入其他值。
<div class="form-group">
<label for="vat" class="text-gray">Vat number</label>
<input type="text" name="vat" class="form-control" value="{{ (Auth::user()->VAT) ? Auth::user()->VAT : old('vat')}}">
</div>
<div class="form-group">
<label for="country" class="text-gray">Country</label>
<select class="form-control" name="country" id="country">
@if(Auth::user()->country)
<option selected="selected">{{Auth::user()->country}}</option>
@endif
@foreach($countries as $key => $country)
<option value="{{$country}}"
@if(Auth::user()->country == $country) selected="selected" @endif>{{ $country}}</option>
@endforeach
</select>
</div>
您知道如何正确实现这一目标吗?通过上面的选择菜单,它会显示存储在用户表中的国家/地区。但是有一个问题,因为它需要获取密钥(例如:“DE”而不是“Germany”)。但是使用 storeRegistration() 中的上述代码来存储注册信息, $request->all( 显示“Germany” like "country" => "Germany"
,而不是“DE”。并且在 storeRegistration() 中,考虑使用国家/地区来验证增值税是必要的关键而不是价值。
在 storeRegistration() 中验证增值税:
$rules['vat'] = [
function ($attr, $value, $fail) use ($request) {
if (!VatValidator::validateFormat($request->country . $request->vat)) {
$fail('Please insert a valid VAT.');
}
}];
解决方案
将 {{ $country }} 更改为 {{ $key }}
<select class="form-control" name="country" id="country">
@foreach($countries as $key => $country)
<option value="{{$key}}" {{ Auth::user()->country == $country ? 'selected' : '' }}>{{ $country}}</option>
@endforeach
</select>
推荐阅读
- amazon-web-services - 如何从 S3 下载大型 csv 文件而不会遇到“内存不足”问题?
- jquery - 如何在 jquery 中使用 php for 循环 for fullcalender.js 和 laravel?
- dataframe - 转置后的 Data.frame 和 data.frame 仍然将变量作为非数字
- python - AttributeError:“模块”对象没有属性“HTTPError”
- c# - 如何 P/invoke double*
- javascript - 表单发布数据 - 保存到 Cookie - 从 Cookie 中读取
- aws-lambda - 使用 VPC 配置 AWS Lambda 意味着什么?
- python - 为什么我的文件在使用 endwith() 时无法识别
- scala - 如何实现具有混合但受限类型的键、值对的集合
- android - textview 在recycleview 项目上重叠