У меня есть две таблицы, одна для lists
и другая, в которой хранятся history
из lists
, которые были созданы.Эти lists
являются очень временными и могут быть удалены различными способами, поэтому я добавляю в историю поле reason
.
//Lists table
Schema::create('lists', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->text('message');
$table->uuid('uuid');
$table->timestamps();
});
//History table
Schema::create('history', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->text('message');
$table->string('reason');
$table->uuid('uuid');
$table->timestamps();
});
Теперь у обоих есть поле uuid
, и я могу сгенерироватьфактическая строка для хранения с помощью вспомогательной функции Laravel $uuid = (string) Str::uuid();
$list = new List;
$list->name = 'A basic fact of life';
$list->message = 'Pineapple does not belong on pizza.'
$uuid = (string) Str::uuid();
$list->uuid = $uuid;
$list->save();
Теперь, когда я успешно удаляю запись из Lists
, я дополнительно создаю новую запись в истории с ее данными.
$list = find($id);
$destroy = List::destroy($id);
if($destroy) {
$history = new History;
$history->name = $list->name;
$history->message $list->message;
$history->uuid = $list->uuid;
$history->reason = 'some reason';
$history->save();
}
Итак, мой вопрос: как Laravel узнает , что следующий генерируемый нами UUID на самом деле уникален?
Так называемый дублированный вопрос, связанный на самом деле, не говорит о том, как или знает ли он, что следующий UUID фактически уникален для прошлых созданных, а скорее дает вероятность.