【问题标题】:Object class couldn't be converted to string Laravel 5对象类无法转换为字符串 Laravel 5
【发布时间】:2019-10-10 08:13:14
【问题描述】:

当我返回控制器的请求时,我得到:

{"员工":"3","原因":"常见 原因","re​​quest":"5000","ded_per_pay":"500","months_to_pay":"2","date_issued":"2018-01-31"}

在我的创建函数中,我得到了这个错误:

Symfony\Component\HttpFoundation\ParameterBag 类的对象无法转换为字符串

这是我的代码:

     CashAdvance::create([
        'emp_id' => $request->employees,
        'reason' => $request->reason,
        'request' => $request->request,
        'ded_per_pay' => $request->ded_per_pay,
        'date_issued' => $request->date_issued,
        'months_to_pay' => $request->months_to_pay
    ]);

似乎是什么导致了问题?

【问题讨论】:

  • dd($request->request); 输出ParameterBag 类的对象,而我们希望在表中保存一个字符串。请改用$request->get('request')

标签: string laravel laravel-5 eloquent


【解决方案1】:

这真的很有趣。我查看了API docs,看来Request 对象有一个参数request。这意味着当您调用$request->request 时,您将从$request 获取参数包。

要解决这个问题,您可以使用以下内容:

$myRequest = $request->input('request');

但我强烈建议您将 request 重命名为不会在项目后期混淆您/其他开发人员的名称,并保留这些特殊命名变量以保留它们的实际含义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-28
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多