Создайте еще один столбец track_id в своей пользовательской таблице, где вы сохраните 1913xxxxxx или 1911xxxxxx для покупателя или дилера и сохраните идентификатор в качестве первичного ключа, автоматически инкриминируемого. Сначала создайте пользователя, а затем сохраните track_id с таким идентификатором
$user = User::create([
'email' => $data['email'],
'password' => Hash::make($data['password'])
]);
if ($data['isDealerForm'] == 1) {
$user->track_id = 191300000+$user->id;
$user->save();
$user->assignRole('2');
} else {
$user->track_id = 191100000+$user->id;
$user->save();
$user->assignRole('1');
}
Я надеюсь, что это решит вашу проблему.
update
Создайте свою миграцию как это
$table->unsignedBigInteger('track_id')->nullable();
, когда вы пытаетесь создать пользователя, он ищет значение track_id, которого нет, с вышеупомянутой миграцией, если значение не там, чем оно будет нулевым, но позже вы можете обновить значение после создания пользователь.