Хорошо, как вы и просили, это то, что я обычно делаю
Обратите внимание, я предполагаю, что ваша структура таблицы выглядит следующим образом
id | userid | firstname | lastname | email | password
И userid
должно быть нулевым по умолчанию
- После сохранения я извлекаю последний вставленный идентификатор из db
- Затем я настраиваю новый идентификатор так, как хотел
- Затем я сохранял его в новом поле (Обновление таблицы)
Вот код
$userid = User::create([
'firstname' => $data['firstname'],
'lastname' => $data['lastname'],
'email' => $data['email'],
'userid'=> $ra, // here i want to concatenate random number with primary key which is going
to be added
'password' => Hash::make($data['password']),
]);
Теперь давайте извлечем последний вставленный идентификатор
$id = DB::getPdo()->lastInsertId();
Затем давайте сделаем это, как вы хотите
$random_id= rand(1000,10000)
$new_id = $id.'_'.$random_id;
Теперь обновите базу данных
//Updating row with registration number
User::where('id', $id)->update(['userid' => $new_id ]);
Вот и все
Спасибо