【问题标题】:Parameterize() must be of the type array, string given in Laravel 5.2Parameterize() 必须是数组类型,Laravel 5.2 中给出的字符串
【发布时间】:2018-10-07 00:11:20
【问题描述】:

我正在使用 laravel 5.2 并尝试使用 whereIn('id',[1,2]) 更新记录,但是当我尝试将 json 值 [1,2] 传递给它时,我返回 parameterize() 必须是数组类型,给定字符串。我在下面提到我的代码。

$load_id=json_encode($request->chk_load,JSON_NUMERIC_CHECK); // it returns [1,2]

Load::whereIn('id',$load_id)->update(array('status'=>3));

我应该怎么做才能修复这个错误。 ?

【问题讨论】:

    标签: arrays json laravel-5 laravel-5.2


    【解决方案1】:

    好像json_encode($request->chk_load,JSON_NUMERIC_CHECK); 返回 json 字符串而不是数组..

    你能详细说明$request->chk_load是什么数据吗?

    【讨论】:

    • 它是一个数组('0'=>'1','1'=>'2')
    • 试试$arr = $request->input('chk_load'); Load::whereIn('id',$arr)->update(array('status'=>3));
    • 我觉得$request->chk_load和$request->input('chk_load')没有区别
    • 基本上 json_encode 不会做,因为它将返回数据类型为 json 字符串..它将寻找数组..
    猜你喜欢
    • 2021-06-30
    • 1970-01-01
    • 2021-08-19
    • 2018-03-22
    • 2020-10-15
    • 2021-02-08
    • 2016-06-05
    • 2022-12-05
    • 2019-08-23
    相关资源
    最近更新 更多