РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1103 of 1392 menu

Метод ulid

Метод ulid класса Str генерирует ULID-идентификатор - 26-символьную строку, состоящую из 10 байт времени в миллисекундах и 16 байт случайных данных. ULID является лексикографически сортируемым, что делает его удобным для использования в качестве первичного ключа в базах данных. Метод не принимает параметров и возвращает строку в формате ULID.

Синтаксис

<?php use Illuminate\Support\Str; $ulid = Str::ulid(); ?>

Пример

Давайте сгенерируем ULID и выведем его на экран:

<?php use Illuminate\Support\Str; $res = Str::ulid(); echo $res; ?>

Результат выполнения кода:

"01H7HX6Z9X3J4K5M6N7P8Q9R0T"

Пример

Давайте сгенерируем несколько ULID и сравним их сортировку:

<?php use Illuminate\Support\Str; $ids = []; for ($i = 0; $i < 5; $i++) { $ids[] = Str::ulid(); } sort($ids); print_r($ids); ?>

Результат выполнения кода:

[ "01H7HX6Z9X3J4K5M6N7P8Q9R0T", "01H7HX6Z9X3J4K5M6N7P8Q9R0U", "01H7HX6Z9X3J4K5M6N7P8Q9R0V", "01H7HX6Z9X3J4K5M6N7P8Q9R0W", "01H7HX6Z9X3J4K5M6N7P8Q9R0X" ]

Пример

Давайте используем ULID в качестве первичного ключа для модели:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreatePostsTable extends Migration { public function up() { Schema::create('posts', function (Blueprint $table) { $table->ulid('id')->primary(); $table->string('title'); $table->text('content'); $table->timestamps(); }); } } ?>
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Str; class Post extends Model { public $incrementing = false; protected $keyType = 'string'; protected static function boot() { parent::boot(); static::creating(function ($model) { if (empty($model->id)) { $model->id = Str::ulid(); } }); } } ?>

Смотрите также

  • метод uuid,
    который генерирует UUID-идентификатор
  • метод random,
    который генерирует случайную строку
  • метод password,
    который генерирует безопасный пароль
  • класс Str,
    который предоставляет методы для работы со строками
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить