我使用了webpatser/lavel国家
在我的控制器中
$countries= DB::table('countries')->lists('name');
在我的表格中选择国家列表,我得到了所有国家的
{!! Form::select('country',$countries,null) !!}
在我的模式中,我现在有这样的
$table->string('country');
我可以选择国家,但当我提交国家栏为空时。知道吗?
编辑2:
你的插件需要看起来像这样:
DB::table('users')->insert(
['country' => 'Canada']
);
https://laravel.com/docs/5.2/queries#inserts
编辑:如果你想提交国家名称的字符串,那么你需要该字符串作为数组中的键。像这样:
$countries= DB::table('countries')->lists('name', 'name');
不过,这并不是数据库关系的典型用法。我希望用户表有一个country_id整数字段,该字段与country中的id字段相匹配。这就是我最初的答案(如下)所涵盖的内容。
原件:
您需要在$countries数组中输入id。我敢打赌,现在你的id是一比一,从0开始,而不是像你的数据库中那样从1开始。
$countries= DB::table('countries')->lists('name', 'id');
在laravel中有不同的保存关系的方法,但实际上我更喜欢在可能的情况下跳过它,直接保存到country_id字段。
{!! Form::select('country_id',$countries,null) !!}
但这取决于你们的关系是如何建立的。以及你是如何储蓄的。显示所有代码!