【问题标题】:How to set default value in laravel collective form如何以 laravel 集体形式设置默认值
【发布时间】:2019-06-01 04:49:49
【问题描述】:

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

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

【问题讨论】:

  • 我已经这样做了..但是没用!!
  • 你不必使用 laravel 集体你可以这样做&lt;select class="form-control" name="country_id" &gt; @foreach($countries as $country) &lt;option {{isset($user) &amp;&amp; $user-&gt;country_id == $country-&gt;id ? 'selected' : ''}} &gt;{{$country-&gt;title}}&lt;/option&gt; @endforeach &lt;/select&gt; 只是为了完成工作
  • 这应该根据他们的文档起作用。前几天正在使用这个包。另外我认为您不需要使用{!!,您可以使用常规的{{

标签: php laravel laravelcollective


【解决方案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-&gt;country_id 的ID。如果用户所在的国家不在$countries列表中,即使设置了用户的id也不行。

【讨论】:

    猜你喜欢
    • 2019-04-25
    • 2020-12-28
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 2013-11-10
    • 1970-01-01
    • 2023-02-24
    相关资源
    最近更新 更多