Для этого я использую PHP-фреймворк Laravel 5.7.
Я храню данные о клиентах на основании их адреса электронной почты. Поле "заказы" данных клиента имеет тип 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]);