Главная/Статьи/Laravel: подстановка строки на ключ в БД
Laravel

Laravel: подстановка строки на ключ в БД

Способ замены ключей базы данных статическими значениями при выводе материалов без использования связей между таблицами.

Постановка задачи

Допустим, есть события с типами: Конференция, Семинар и Форум. В БД хранятся ключи: type01, type02, type03. Требуется подставить читаемые названия в шаблон.

Шаг 1. Массив в модели

Добавьте публичный массив в модель:

public $eventType = [
    'type01' => 'Конференция',
    'type02' => 'Семинар',
    'type03' => 'Форум',
];

Шаг 2. Использование в шаблоне

{{ $event->eventType[$event->type] }}

Пример в цикле

@foreach($events as $event)
    {{ $event->title }}
    {{ $event->eventType[$event->type] }}
    {{ $event->city }}
@endforeach

Альтернатива: связи Eloquent

Для более сложных случаев, когда типы хранятся в отдельной таблице, используйте отношение belongsTo():

public function category() {
    return $this->belongsTo('App\\Category');
}

Вызов в представлении: {{ $event->category->title }}