Php 选择标签中的默认选项不在laravel 5中工作

Php 选择标签中的默认选项不在laravel 5中工作,php,laravel-5,Php,Laravel 5,我有一个问题: 在控制器中: $countries=mytable::lists('country'); return view('myview', ['countries'=>$countries]); 鉴于: {!!Form::select('Country', $countries, $item->Country)!!} $item->Country是用户的国家,应该是已经选择的默认选项。然而,我得到的是按字母顺序排列的国家名单。。。因为它来自数据库。 我的问题是我做错了什

我有一个问题: 在控制器中:

$countries=mytable::lists('country');
return view('myview', ['countries'=>$countries]);
鉴于:

{!!Form::select('Country', $countries, $item->Country)!!}
$item->Country
用户
国家
,应该是已经选择的默认选项。然而,我得到的是按字母顺序排列的国家名单。。。因为它来自数据库。 我的问题是我做错了什么?为什么选择标记没有获得默认选项

谢谢。

试试这个:

{!! Form::select('Country', $countries, $item->Country, []) !!}
选择输入正在查找4个参数

  • 输入的名称
  • 价值观
  • 选定的值
  • 以及其他属性(类、id等)的数组
  • 更重要的是,我希望你们知道,这只是给你们一个国家名称数组

    $countries = mytable::lists('country')
    
    $item->Country
    可能会为您提供国家的名称,而select输入的值为0、1、2、3,文本是国家的名称。因此,select输入中没有国家名称的值


    您应该编辑您的问题并添加
    mytable
    的说明,以便我们知道如何帮助您。

    我认为,$item->country是一个对象,您应该设置id本身

    {!!Form::select('Country', $countries, $item->Country->id)!!}
    
    另外,在控制器中,添加
    id
    作为集合的键:

    $countries=mytable::lists('country', 'id');
    

    它现在起作用了。。。但是表单没有发送国家名称,而是发送表中的排名。因此,如果这个国家是古巴,并且是排名第50位,那么它将发送50个而不是古巴。。。现在我缺少了一些其他的东西…您可以做
    $countries=mytable::list('country','country')