如何以Laravel集体形式设置默认值

时间:2019-01-06 05:19:13

标签: php laravel laravelcollective

我正在从数据库中获取数据,并希望使用默认选择一个值制作下拉列表

我尝试了这个 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的新手。请帮助:)

1 个答案:

答案 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也无法使用。