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个参数
$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')代码>