Я использую метод updateOrCreate, чтобы проверить, были ли данные изменены из ответа, введенного в БД.Если запись новая, она успешно добавляет правильную метку времени.Тем не менее, я заметил, что обновленная отметка времени обновляет записи для всех записей.Я хочу, чтобы это обновлялось, только если записи были обновлены.
Но, глядя на проблему, я полагаю, что все записи обновляются независимо.
if (isset($customers->Data)) {
foreach ($customers as $customerData) {
if ($customer = $customerData->attributes()) {
if ((string) $customer->CustomerType !== 'A') continue;
if ((string) $customer->CustomerEmail === '') continue;
$customerDb = $this::updateOrCreate(
[
'email' => $customer->CustomerEmail,
'code' => $customer->Customer,
'currency' => $customer->Currency,
],
[
'email' => $customer->CustomerEmail,
'code' => $customer->Customer,
'currency' => $customer->Currency,
'name' => $customer->CustomerName,
'phone' => $customer->CustomerPhone,
'terms' => $customer->Terms,
]
);
}
}
}
Адрес электронной почты, код, поля валюты всегда будут уникальными, а остальные будут созданы, если их нет.подарок.Должно ли поведение по умолчанию обновляться независимо?Чего я хочу добиться - это только определить, была ли изменена запись, если она обновила это конкретное поле, и обновить временную метку, если ее там нет, и создать ее.Таким образом, отфильтровываю обновленные данные и показываем только эти записи, а не всю таблицу.
Извините, но вы новичок в Laravel, и любые указания приветствуются, спасибо.