Вы можете использовать UUID.Я предлагаю вам использовать метод вспомогательных строк Laravel по умолчанию для генерации UUID.Ниже описано, как этого добиться.
use Illuminate\Support\Str;
$uuid = Str::uuid()->toString(); //this generates a v4 UUID.
В своей миграции вы можете указать столбец uuid
, например:
**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->uuid('id')->primary(); //uuid field set to PK
});
}
В ваших моделях, скажем, User.php
,установите следующие свойства.
protected $primaryKey = 'id';
public $incrementing = false;
protected $keyType = 'string';
Я предлагаю вам сохранить в ваших таблицах автоинкремент, чтобы помочь вам определить количество записей без написания каких-либо запросов (это необязательно).например.скажем, такой столбец rowId
, вы можете скрыть это от своего ответа, добавив его в массив скрытых свойств модели.Например,
protected $hidden = [
'password', 'remember_token', 'rowId'
];
Надеюсь, это поможет.