Есть ли в 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 можно найти здесь.