我正在为此使用Laravel 5.7 PHP框架。 我正在根据客户的电子邮件地址存储他们的数据。客户数据的“订单”字段为JSON类型。每次客户使用电子邮件下订单时,我要检查该电子邮件是否存在记录,如果存在,它将从该记录中提取订单JSON并添加新订单,如果不存在,则会创建一个新模型创造新记录。
我得到以下异常:“数组到字符串的转换”。跟踪时,我发现它来自遵循Laravel 5.7文档约定的以下代码行:
$client_data = ClientData::firstOrNew(['email' => $request->email]);
这是我在ClientData
模型中所拥有的:
protected $table = ['client_data'];
protected $guarded = ['created_at'];
我验证了$request->email
确实是一个包含电子邮件地址的字符串。
我也用下面的代码行尝试过,但是抛出了同样的异常:
$client_data = ClientData::where('email', $request->email)->first() ?: new ClientData(['email' => $request->email]);
答案 0 :(得分:0)
受保护的$ table = ['client_data'];我认为不应该是数组,而是字符串。