【问题标题】:Argument 1 passed to Illuminate\\Database\\Grammar::parameterize() must be of the type array, integer given传递给 Illuminate\\Database\\Grammar::parameterize() 的参数 1 必须是数组类型,给定整数
【发布时间】:2019-08-23 01:57:53
【问题描述】:

我的 post 方法出现以下错误。我有一个 Laravel API 和一个 Angular 前端。

传递给 Illuminate\Database\Grammar::parameterize() 的参数 1 必须是数组类型,给定整数,在 /Users/andre/Docume 中调用

这里是创建函数。

public function store($userid, PropertyRequest $request) 
{
    $user = User::find($userid);
    $advert = $user->property()->create($request->all());
    return response()->json($advert);
}

这是路线。

Route::prefix('advertisement')->group(function () {
    Route::post('{id}/store', 'API\PropertyController@store');
});

userId 正在从 Angular 应用程序传递给路由。

知道问题可能是什么吗?

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    确保您的$request->all() 调用中有正确的数据(包含数据的数组)。

    【讨论】:

    • 我将其作为表单请求。正确的数据在字段中。它的说法1是不正确的,但那是id。它不应该是一个数组
    • 尝试将store($userid, PropertyRequest $request) 替换为store(PropertyRequest $request, $userid)store(Request $request, $userid)。还要检查$userid 是否真的是int$request->all() 是否真的是array(使用dd(...))。
    猜你喜欢
    • 2018-03-22
    • 2021-08-19
    • 2021-02-08
    • 2020-10-15
    • 1970-01-01
    • 2019-09-18
    • 2021-12-24
    • 2018-05-28
    • 2020-02-23
    相关资源
    最近更新 更多