Есть ли в Laravel возможность выбора модели? как в Django

Мне интересно, есть ли в Laravel что-то похожее на Django в выборе моделей?

Например, в Django: Django document

class Card(models.Model):

    class Suit(models.IntegerChoices):
        DIAMOND = 1
        SPADE = 2
        HEART = 3
        CLUB = 4

    suit = models.IntegerField(choices=Suit.choices)

Использование Enums, новая функция для PHP 8.1.

enum Suit:integer
{
    case DIAMOND = 1;
    case SPADE = 2;
    case HEART = 3;
    case CLUB = 4;
}

В вашей модели.

class Card extend Model
{
    protected $casts = [
        'suit' => Suit::class,
    ];
}

Теперь при создании карты вы можете использовать enum.

$card->fill(['suit' => Suit::DIAMOND]);

Или из ввода.

$card->fill(['suit' => Suit::from($request->get('suit'))]);

Документацию по Enums можно найти здесь.

Вернуться на верх