我正在使用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]);
受保护$table = ['client_data'];我认为不应该是一个数组,而是一个字符串。