(может есть что лучше?)
$table->integer('status'); // Перечисления на уровне кода, записывается код статуса, а расшифровка хранится в коде в Enum классе
$table->enum('status', ['active', 'inactive'])->default('active'); // перечисления на уровне БД
$table->string('status'); // статус сразу пишется в читаемом виде: active, inactive и т.д.
четвертый вариант - когда хрянят дату - banned_at = 27.08.2023. Для базы ( быстродействие) лучше первый вариант. Для читибельности второй и третий. я за первый.
int, никаких enum в бд
+ еще четвертый вариант попадался: статус (int) - внешний ключ к отдельной таблице со статусами
ну если у вас php 8.1 можна исползоват нативние уnum класси
это не хорошый подход
Что именно
Обсуждают сегодня