Добавление метода доступа в вашу файловую модель, например;
public function getIconAttribute() {
$extensions = [
'jpg' => 'jpeg.png',
'png' => 'png.png',
'pdf' => 'pdfdocument.png',
'doc' => 'wordicon.jpg',
];
return array_get($extensions,$this->extension,'unknown.png');
}
Массив_get - это помощник laravel, который ищет значение в массиве и может иметь третий параметр по умолчанию, если расширение не найден в массиве.
Тогда в блейде вы можете просто значок}} '/>
Или
Более простой подход, когда вы просто убедитесь, что значок назван так же, как и расширение.
Затем в блейде вы можете просто добавить расширение}}. png '/> и тогда вам вообще не нужно добавлять средство доступа.
Это не допускает неизвестных типов файлов, но это может быть нормально, если вы ограничиваете типы загрузки (что вам следует).