如何在 laravel 集合形式中设置默认值

How to set default value in laravel collective form

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

我试过了

但什么也没发生

我的查看文件:

<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-集体的新手..请帮忙 :)

Laravel 集体代码确实很有帮助...但它也有一些奇怪的问题。

您可以通过在 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也不会起作用。