如何将所选项添加到mysql数据库Laravel Schema Builder中?

时间:2016-01-07 04:51:02

标签: mysql laravel-5.1 laravel-schema-builder

我使用了webpatser/laravel-countries

在我的控制者中

$countries= DB::table('countries')->lists('name');

以我的形式选择国家/地区列表我获得了所有国家/地区

{!! Form::select('country',$countries,null) !!}

在我的架构中现在我喜欢这个

$table->string('country');

我可以选择国家/地区,但是当我将国家/地区列提交为空任何想法?

1 个答案:

答案 0 :(得分:0)

编辑2:

您的插页需要如下所示:

DB::table('users')->insert(
    ['country' => 'Canada']
);

https://laravel.com/docs/5.2/queries#inserts

编辑:如果要提交国家/地区名称的字符串,则需要将字符串作为数组中的键。像这样:

$countries= DB::table('countries')->lists('name', 'name');

但这并不是数据库关系的典型用法。我希望用户表的country_id整数字段与国家/地区的id字段匹配。这是我原来的答案(见下文)所涵盖的内容。

原文:

您希望在$ countries数组中输入ID。我现在打赌你的ID是一个,从0开始,而不是像你的数据库一样。

$countries= DB::table('countries')->lists('name', 'id');

在laravel中保存关系有不同的方法,但我实际上更喜欢在可能的情况下跳过它并直接保存到country_id字段。

{!! Form::select('country_id',$countries,null) !!}

但这取决于您的关系如何设置。以及你如何储蓄。显示所有代码!