将元素数组存储到数据库(Laravel)

pwnz22

我需要有关如何将数组存储到数据库的建议。例如,我有一个输入,name="user_phone[]"并且我想将该输入的值存储到数据库中。我有这样的形式,也有其他输入,但我只复制了一个:

{!! Form::open([route('some.router')]) !!}

 <fieldset class="form-group">
   {{ Form::label(null, 'Phone') }}
     {{ Form::text('user_phone[]', null, ['class' => 'form-control'] ) }}
 </fieldset>

{!! Form::close() !!}

和控制器:

public function postAddOrder(Request $request)
    {
        $this->validate($request, [
            'receipt_date' => 'date|required',
            'return_date' => 'date|required',
            'user_name' => 'required',
            'user_phone' => 'required',
            'work_sum' => 'integer|required',
            'user_descr' => 'required',
            'foruser_descr' => 'required'
        ]);

        $user = new User;
        $user = $user->all()->find($request->input('user_name'));

        $order = new Order([
            'receipt_date' => $request->input('receipt_date'),
            'return_date' => $request->input('return_date'),
            'user_name' => $user->fio,
            'user_phone' => $request->input('user_phone'),
            'device' => $request->input('device'),
            'work_sum' => $request->input('work_sum'),
            'master_name' => $request->input('master_name'),
            'user_descr' => $request->input('user_descr'),
            'foruser_descr' => $request->input('foruser_descr'),
            'type' => $request->input('type'),
            'status' => $request->input('status'),
            'engineer' => $request->input('engineer'),
            'partner' => $request->input('partner'),
            'office' => $request->input('office')
        ]);

        $order->save();

        return redirect()->route('admin.orders.index');

    }

问题是当我提交表单并得到错误时:

htmlentities() expects parameter 1 to be string, array given

另外我正在使用强制转换将数组存储到数据库:

/**
     * The attributes that should be casted to native types.
     *
     * @var array
     */
    protected $casts = [
        'user_phone' => 'array',
    ];

值存储正确,主要问题是validate()方法未捕获错误。例如,我没有在所需的输入中填充某些数据。什么时候需要获得错误而不是像出现错误那样的错误

htmlentities() expects parameter 1 to be string, array given

当我用数据填充所有输入时,一切正常。

pwnz22

找到定义。

{!! Form::open([route('some.router')]) !!}

 <fieldset class="form-group">
   {{ Form::label(null, 'Phone') }}
     {{ Form::text('user_phone[0]', null, ['class' => 'form-control'] ) }}
 </fieldset>

{!! Form::close() !!}

我们必须在输入中传递索引。像那name="user_phone[0]"之后,我们没有得到错误:

htmlentities() expects parameter 1 to be string, array given

validate()捕获错误的方法。这是我唯一的解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将JSON数组元素存储到SQLite数据库

来自分类Dev

Laravel,将数组中的多个变量存储到数据库中

来自分类Dev

Laravel 存储到数据库

来自分类Dev

如何将MySQL数据库中的数据存储到数组中?

来自分类Dev

如何使用php将API数据(数组)存储到数据库中

来自分类Dev

如何将 MySQL 数据库中的数据存储到由 id 索引的数组中?

来自分类Dev

如何将数组输入存储到数据库中?MYSQL PHP表单输入foreach

来自分类Dev

使用 for 循环将数据库记录存储到数组中 | C#

来自分类Dev

Laravel访问因将模型存储到数据库而被拒绝

来自分类Dev

将抓取的数据存储到数据库sqlite

来自分类Dev

无法将多选数据存储到数据库

来自分类Dev

有什么办法可以将数组元素插入到mysql数据库中

来自分类Dev

使用值数组存储到数据库中

来自分类Dev

使用值数组存储到数据库中

来自分类Dev

Laravel/Blade 存储到数据库 (Route::post)

来自分类Dev

Laravel:无法将数组从数据库从路由器传递到视图

来自分类Dev

将枚举存储到数据库的简便方法

来自分类Dev

如何将短信存储到SQLite数据库?

来自分类Dev

将ZipFile对象存储到Django数据库中

来自分类Dev

将核心对象存储到SQLite数据库中

来自分类Dev

将视图计数存储到数据库中

来自分类Dev

将数据库条目存储并检索到Titanium Cloud

来自分类Dev

将ZipFile对象存储到Django数据库中

来自分类Dev

将iOS设备令牌存储到MySQL数据库

来自分类Dev

将文件存储到数据库时发生错误

来自分类Dev

Ruby on Rails-将参数存储到数据库

来自分类Dev

将图像存储到数据库中但面临异常

来自分类Dev

从目录将映像名称存储到数据库中

来自分类Dev

将URL保护和存储到数据库中

Related 相关文章

热门标签

归档