如何在Laravel 7中使用select2多个向数据库插入多个值

时间:2020-05-31 23:19:02

标签: php laravel-7

当我尝试将所有选定的值插入数据库时​​,得到[结果在driver_lisence列中。

这是我的刀刃

<div class="form-group col-sm-6">

    <label>{{__('driver.driver_licence')}}</label>
    <select name="driver_lisence[]" class="form-control select multiple" id="" multiple="multiple">
        <option {{ old('driver_lisence') == 'A' ? 'selected': '' }}  value="A">A</option>
        <option {{ old('driver_lisence') == 'B' ? 'selected': '' }}  value="B">B</option>
        <option {{ old('driver_lisence') == 'C' ? 'selected': '' }}  value="C">C</option>
        <option {{ old('driver_lisence') == 'D' ? 'selected': '' }}  value="C">D</option>
        <option {{ old('driver_lisence') == 'E' ? 'selected': '' }}  value="E">E</option>
    </select>

    @error('driver_lisence')
        <label id="with_icon-error" class="validation-invalid-label" for="with_icon">
            {{$message}}
        </label>
    @enderror
</div>

这是我的模特

protected $fillable = [
    'firstname',
    'lastname',
    'birthday',
    'email',
    'phone',
    'password',
    'gender',
    'image',
    'pasport_id',
    'fin_code',
    'driver_lisence',
    'status',
    'fcm_token',
    'driver_group_id',
    'app_version',
];

protected $casts = [
    'driver_lisence' => 'array'
];

这是我的控制人

public function store(DriverRequest $request)
{
    $data = $request->all();

    if ($request->file('image'))
    {
        $data['image'] = request('image')->store('',['disk' => 'uploads']);;
    }

    $data['password'] = Hash::make($data['password']);

    Driver::create($data);

    return  redirect(route('admin.driver.index'))->with(_sessionmessage());
}

我只想选择所有值并将其插入数组之类的driver_licence列中。

1 个答案:

答案 0 :(得分:0)

由我自己修复。问题出在我的迁移中。我在lenth列中插入了1。我将其删除并且可以正常工作