我正在从数据库中获取数据,并希望使用默认选择一个值制作下拉列表
我尝试了这个 Laravel-5 how to populate select box from database with id value and name value
但什么也没发生
我的查看文件:
<div class="row">
<!-- Country ID Field -->
<div class="form-group col-sm-6">
{!! Form::label('country_id', 'Country ID:') !!}
{!! Form::select('country_id',$countries, isset($user) ? $user->country_id : 'Nepal', ['class' => 'form-control']) !!}
</div>
我是laravel-collective的新手。请帮助:)
答案 0 :(得分:1)
Laravel Collective代码确实很有帮助...但是它在某些奇怪的方面也存在问题。
有一个自动绑定,可以通过在Collective select()构造函数中使用null来利用:
<div class="row">
<div class="form-group col-sm-6">
{!! Form::label('country_id', 'Country ID:') !!}
{!! Form::select('country_id',$countries, null, ['class' => 'form-control']) !!}
</div>
如果在表单上使用表单模型绑定,这通常非常好。但是,在某些情况下,它可能无法接收用户模型。如果是这样,则您使用原始代码是正确的。但是,由于某种原因,当isset块位于括号内时,Collective偶尔会更好地读取isset节:
<div class="row">
<div class="form-group col-sm-6">
{!! Form::label('country_id', 'Country ID:') !!}
{!! Form::select('country_id',$countries, (isset($user) ? $user->country_id : 'Nepal'), ['class' => 'form-control']) !!}
</div>
尝试其中任何一种-希望有一个对您有所帮助。
要检查的另一项可能项是确保您的$countries
已设置并包含一些ID,包括 $user->country_id
的ID。如果用户所在的国家/地区不在$countries
列表中,则即使设置了用户的ID也无法使用。