Laravel: 使用与选项名称相同的列及其在 select box/drop-down 中的值?
Laravel: Use same column as option name and its value in select box/drop-down?
我正在尝试在 Laravel 中创建一个带有 select 框的表单。
查看
{{ Form::select('cmp_type', $cmp_types, null, $attributes = ['class' => 'form-control']) }}
控制器
public function showAddCompany()
{
$cmp_types = cmpTypes::where('status', true)->pluck('type');
return view('addCompany', compact('cmp_types'));
}
这正在生成一个 select 框。
<select class="form-control" id="cmp_type" name="cmp_type">
<option value="0">public</option>
<option value="1">pvt Ltd</option>
<option value="2">LLP</option>
<option value="3">NPO</option>
<option value="4">partnership</option>
<option value="5">proprietorship</option>
<option value="6">one person</option>
</select>
我怎样才能让 select 盒子变成这样?:
<select class="form-control" id="cmp_type" name="cmp_type">
<option value="public">public</option>
<option value="pvt Ltd">pvt Ltd</option>
<option value="LLP">LLP</option>
<option value="NPO">NPO</option>
<option value="partnership">partnership</option>
<option value="proprietorship">proprietorship</option>
<option value="one person">one person</option>
</select>
我相信发生的事情是,当您调用 pluck
时,您将返回一个数值数组(集合?),并且这些数字键用于 value
属性 并且所述键的实际值被用作显示,如果你这样做了怎么办:
$cmp_types = cmpTypes::where('status' , true )->pluck('type');
$cmp_types = array_combine($cpm_types, $cmp_types);
阅读Material
array_combine() 帮助了我。
解决方法是:
public function showAddCompany()
{
$cmp_types_obj = cmpTypes::where('status' , true )->pluck('type');
$cmp_types = json_decode($cmp_types_obj);
$cmp_types = array_combine($cmp_types, $cmp_types);
return view('addCompany', compact('cmp_types'));
}
我的查询正在返回一个对象,所以我先将它转换成一个数组,然后将它与自身组合以获得一个关联数组
['public']=>'public,['private']=>'private',...
我正在尝试在 Laravel 中创建一个带有 select 框的表单。
查看
{{ Form::select('cmp_type', $cmp_types, null, $attributes = ['class' => 'form-control']) }}
控制器
public function showAddCompany()
{
$cmp_types = cmpTypes::where('status', true)->pluck('type');
return view('addCompany', compact('cmp_types'));
}
这正在生成一个 select 框。
<select class="form-control" id="cmp_type" name="cmp_type">
<option value="0">public</option>
<option value="1">pvt Ltd</option>
<option value="2">LLP</option>
<option value="3">NPO</option>
<option value="4">partnership</option>
<option value="5">proprietorship</option>
<option value="6">one person</option>
</select>
我怎样才能让 select 盒子变成这样?:
<select class="form-control" id="cmp_type" name="cmp_type">
<option value="public">public</option>
<option value="pvt Ltd">pvt Ltd</option>
<option value="LLP">LLP</option>
<option value="NPO">NPO</option>
<option value="partnership">partnership</option>
<option value="proprietorship">proprietorship</option>
<option value="one person">one person</option>
</select>
我相信发生的事情是,当您调用 pluck
时,您将返回一个数值数组(集合?),并且这些数字键用于 value
属性 并且所述键的实际值被用作显示,如果你这样做了怎么办:
$cmp_types = cmpTypes::where('status' , true )->pluck('type');
$cmp_types = array_combine($cpm_types, $cmp_types);
阅读Material
array_combine() 帮助了我。
解决方法是:
public function showAddCompany()
{
$cmp_types_obj = cmpTypes::where('status' , true )->pluck('type');
$cmp_types = json_decode($cmp_types_obj);
$cmp_types = array_combine($cmp_types, $cmp_types);
return view('addCompany', compact('cmp_types'));
}
我的查询正在返回一个对象,所以我先将它转换成一个数组,然后将它与自身组合以获得一个关联数组
['public']=>'public,['private']=>'private',...