【问题标题】:"Creating default object from empty value"“从空值创建默认对象”
【发布时间】:2020-04-09 16:07:20
【问题描述】:

我正在尝试向数据库中插入数据,但收到错误"Creating default object from empty value" 仍然不明白,这个错误是从哪里来的?

在我的控制器中

public function store(Request $request)
    {
        $request->validate([
            'amount' => 'required',
            'method' => 'required',
        ]);
        $payrolls = new Payroll();
        $payrolls->employee_id = auth()->user()->id;
        $payrolls->account_id = auth()->user()->id;
        $payrolls->employee_name = $request->get('employee_name');
        $payrolls->description = $request->get('description');
        $payrolls->account = $request->get('account');
        $payrolls->amount = $request->get('amount');
        $payrolls->method = $request->get('method');
        $payrolls->save();
        return response()->json(['created' => true]);
    }

有什么帮助吗?谢谢......

【问题讨论】:

  • 您的代码中有错字:$parolls = new Payroll();应该是 $payrolls
  • 哦,我明白了,谢谢你..
  • @arm 是的,他的代码中有错字。 z3r0 我已经更新了你的代码,你可以试试。

标签: laravel eloquent


【解决方案1】:

正如@arm 所说,您的代码中有错字,这会导致您遇到错误。
下面的代码应该使它工作。
我还建议您使用 $request->input('****'); 而不是像您正在使用的动态变量 $request->account;

public function store(Request $request)
{
    $request->validate([
        'amount' => 'required',
        'method' => 'required',
    ]);

    $payrolls = new Payroll();
    $payrolls->employee_id = auth()->user()->id;
    $payrolls->account_id = auth()->user()->id;
    $payrolls->employee_name = $request->input('employee_name');
    $payrolls->description = $request->input('description');
    $payrolls->account = $request->input('account');
    $payrolls->amount = $request->input('amount');
    $payrolls->method = $request->input('method');
    $payrolls->save();

    return response()->json(['created' => true]);
}

您还可以查看Payroll::create(),它可以更轻松地在数据库中创建条目,而不是创建new Payroll(),并在最后保存。 https://laravel.com/docs/5.7/eloquent#mass-assignment

【讨论】:

  • 非常感谢您添加更多细节。但是有人告诉我我的代码是bad,你能指导写一个好的代码吗?
  • @z3r0 如果您正在研究我的建议,那么您的代码将更具可读性,并且最终看起来会更好
猜你喜欢
  • 1970-01-01
  • 2015-01-28
  • 2017-11-29
  • 2017-09-30
  • 2016-08-18
  • 2018-07-18
  • 2019-03-14
  • 1970-01-01
相关资源
最近更新 更多