Model::firstOrNew(['attribute' => $value]) 抛出 "Array to string conversion" 异常
Model::firstOrNew(['attribute' => $value]) is throwing "Array to string conversion" exception
我正在为此使用 Laravel 5.7 PHP 框架。
我正在根据他们的电子邮件地址存储客户数据。客户端数据 'orders' 字段的类型为 JSON。每次客户使用他们的电子邮件下订单时,我想检查该电子邮件是否存在记录,如果存在,它将从该记录中提取订单 JSON 并添加新订单,如果不存在,它将创建一个新模型,创造一个新记录。
我得到以下异常:"Array to string conversion"。跟踪时,我发现它来自这一行代码,它遵循 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'];我觉得应该不是数组,而是字符串。
我正在为此使用 Laravel 5.7 PHP 框架。 我正在根据他们的电子邮件地址存储客户数据。客户端数据 'orders' 字段的类型为 JSON。每次客户使用他们的电子邮件下订单时,我想检查该电子邮件是否存在记录,如果存在,它将从该记录中提取订单 JSON 并添加新订单,如果不存在,它将创建一个新模型,创造一个新记录。
我得到以下异常:"Array to string conversion"。跟踪时,我发现它来自这一行代码,它遵循 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'];我觉得应该不是数组,而是字符串。