【问题标题】:Laravel save new record returns nothingLaravel 保存新记录不返回任何内容
【发布时间】:2019-07-20 13:34:28
【问题描述】:

我正在尝试保存新记录,我得到的只是一个白页

即使是 $applicant ->save() 的 dump 和 dd 也不会返回任何内容。

  public function store(Request $request) {

    try {
        if (Auth::guest()) {
            return redirect()->route('login');
        }

        $applicant = new Applicant();
        $applicant->first_name = $request->get('first_name');
        $applicant->middle_name = $request->get('middle_name');
        $applicant->last_name = $request->get('last_name');
        dump($applicant);
        $applicant->save();


      dd('Saved');
     } catch (Exception $e) {
         Log::error("Error during orders creation:" .$e>getTraceAsString());
        }
    }

我希望记录应该被保存

【问题讨论】:

  • 删除$applicant ->save();中的空格
  • 抱歉,只是在复制时出错了。不是真正的问题
  • 你检查数据库了吗?请在保存后添加 dd($request->all(), $applicant) 看看你得到了什么。
  • @AliÖzen 我得到了正确的数据,但是保存行之后的任何代码都没有执行
  • 如果在 save() 行之后没有执行 die dump 并且您得到空白页,您可能正在执行另一个代码并从它们返回 null。像特征、观察者、事件、提供者等。

标签: laravel laravel-5


【解决方案1】:

试试这个

    public function store(Request $request){
       $applicant = new Applicant;
       $applicant->first_name = $request->input('first_name');
       $applicant->save();
    }

别忘了在你的 Controller 类中包含 use App\Applicant 模型;如果它不能解决你的问题。请仔细检查视图部分中的表单操作帖子。

【讨论】:

  • 很奇怪,它应该可以工作。 dd() 函数打印什么?
  • dd() 不打印任何内容
  • 您是否允许模型上的数据可填充数据?
  • 验证也会阻止数据提交到数据库,你会发布你所有的完整代码吗?否则很难调试
【解决方案2】:

我认为save 函数不会返回任何内容。

对于数据,您必须使用create 方法。

【讨论】:

  • 但我一直在使用它,而且它工作我使用的是 laravel 5.3
  • 那么它必须有数据压缩查看的问题。
【解决方案3】:

保存后使用返回。

$applicant->保存();

return response()->json(['success' => '数据添加成功']);

【讨论】:

    【解决方案4】:

    使用 create 代替,如果可以的话,编写更少的代码总是更好。 试试这个: 应用程序::create($request->all()); 或者通过将每个数组键分配给它的值来按照您需要的方式更改它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 2018-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多