У меня есть проект Laravel -5.8, который запускает расписание заданий cron
public function handle()
{
$client = new Client();
$res = $client->request('GET','https://api.employees.net/allemployees', [
'query' => ['key' => 'dfffgggggffffff']
])->getBody();
$clientdatas = json_decode($res->getContents(), true);
foreach($clientdatas as $clientdata)
{
Employee::updateOrCreate([
'employee_code' => $clientdata->staff_id,
],
[
'first_name'=> $clientdata->first_name,
'last_name'=> $clientdata->flast_name,
'other_name'=> $clientdata->middle_name,
]);
$user = User::updateOrCreate([
'email'=> $employee->email,
],
[
'first_name'=> $employee->first_name,
'last_name'=> $employee->last_name,
]);
$employee->update(['user_id' => $user->id]);
}
}
Идентификатор для каждой модели: auto-increment
.
Я заметил, что пока задание cron было сохраняя внешние данные из api в базу данных mysql, автоинкремент для модели Employee пропускал шаг в точке. Он пропустил 97 и переместился в 99 . Тем не менее, модель User в порядке, она не пропущена.
Я заметил, что она пропустила конкретную информацию о том, что конкретное поле пусто:
'last_name' => $employee->last_name,
Это last_name
таблица сотрудников
Как решить эту проблему?
Спасибо.