【问题标题】:Serialization of 'Closure' is not allowed in laravellaravel 中不允许序列化“闭包”
【发布时间】:2020-04-06 14:12:53
【问题描述】:

我在 laravel 中有一个请求,我需要在会话中存储我想要做的是将所有请求存储在会话中以学习编码,这是一个:

public function store(Request $request)
{
    session()->put('quotation',  $request);
    return 'success';
}

它的作用是将所有请求存储到会话,但我遇到错误

(1/1) 例外 不允许序列化“闭包”

我正在使用 laravel 5.4

【问题讨论】:

  • 您不能存储实际的 Request 对象,因为它具有作为属性的闭包,它们不能被序列化......您实际上要存储什么,来自请求的输入?
  • 来自输入文本的5个请求(例如:姓名、地址、联系方式、电子邮件、年龄),我需要大量存储它们,所以我不需要一一存储。

标签: arrays laravel session


【解决方案1】:

Request 对象具有闭包作为属性。您可能不需要整个 Request 对象,而只需要输入。如果您只需要输入,您可以保存输入数组:

$request->session()->put('quotation', $request->input());

quotation 将包含一个输入数组。

【讨论】:

  • $request->all()$request->input() 的更好替代品 - 后者仅获取输入,而前者还将包含文件。
猜你喜欢
  • 2014-06-20
  • 1970-01-01
  • 1970-01-01
  • 2018-05-08
  • 2014-04-21
  • 2019-01-30
  • 2017-02-14
  • 2012-11-23
  • 1970-01-01
相关资源
最近更新 更多