Laravel - Как разрешить автоинкремент с пропуском id на один шаг в задании Cron - PullRequest
2 голосов
/ 17 июня 2020

У меня есть проект 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

таблица сотрудников

mysql employee table

Как решить эту проблему?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...