Как показать, чтобы обрабатывать перечисления в Laravel?

#php #laravel

#php #laravel

Вопрос:

Мне нравится хранить значения для всех этих в центральном месте. Например, у меня может быть перечисление, которое выглядит следующим образом:

 $mobies = [
    'APPLE' => "Apple",
    'SUM' => "Sumsung",
    'LG' => "LG",
];
 

Который я хочу использовать как в моем представлении, так и в шаблоне:

перенести таблицу

 Schema::create('products', function (Blueprint $table) {
    $table->id;
    $table->enum('mobiles',['apple','sumsung','lg']);
    ...
});
 

config/enums.php

 <?php

return [
    'mobiles' => [
        'APPLE' => "Apple",
        'SUM' => "Sumsung",
        'LG' => "LG",
    ];
];
 

index.blade.php

 {{ config('enums.reportableTitle') }}
 

Как показать в блейде, когда он сохраняется в базе данных.

Комментарии:

1. Есть ли кто-нибудь, кто может ответить на мой вопрос?

Ответ №1:

Давайте начнем с config/enums.php

 <?php

return [
    'mobiles' => [
        'APPLE' => "Apple",
        'SUM' => "Sumsung",
        'LG' => "LG",
    ]
];
 

Вы можете использовать его где угодно с помощью config helper config('enums.mobiles')

Вы можете использовать его в своей таблице миграции, извлекая только его значение с помощью array_values()

 Schema::create('products', function (Blueprint $table) {
    $table->id;
    $table->enum('mobiles', array_values(config('enums.mobiles')));
    ...
});
 

В вашем блейд-файле вы также можете использовать помощник конфигурации, например

 {{ config('enums.mobiles')['APPLE'] }}