Я заполнил базу данных 20 поддельными работодателями и вакансиями — у каждого из них был случайный логотип.
Поначалу это работало отлично.
Но когда я регистрирую нового пользователя и создаю новую вакансию с загрузкой логотипа, она отображается правильно для моей работы, но остальные посеянные работодатели теряют свои логотипы (они не показывают изображение).
Мои настройки:
Код: Выделить всё
.envКод: Выделить всё
APP_ENV=local APP_DEBUG=true APP_URL=http://127.0.0.1:8000 FILESYSTEM_DISK=public ASSET_URL="${APP_URL}/storage" DB_CONNECTION=sqliteКод: Выделить всё
EmployerFactory.phpКод: Выделить всё
class EmployerFactory extends Factory { public function definition(): array { return [ 'name' => fake()->company(), 'logo' => 'logos/default-' . rand(1, 10) . '.jpg', 'user_id' => User::factory(), ]; } }Код: Выделить всё
resources/views/components/employer-logo.blade.phpКод: Выделить всё
@props(['employer', 'width' => 90]) [img]{{ $employer-[/img] logo ? (Str::startsWith($employer->logo, 'http') ? $employer->logo : (Str::startsWith($employer->logo, 'logos/') ? asset($employer->logo) : asset('storage/' . $employer->logo))) : asset('logos/default-' . rand(1, 10) . '.jpg')) }}" alt="{{ $employer->name }} logo" class="rounded-xl" width="{{ $width }}" >Код: Выделить всё
resources/views/components/job-card.blade.phpКод: Выделить всё
- Когда я посещаю страницу вакансий после загрузки логотипа, отображается только мой загруженный логотип.
- Остальные 20 поддельных вакансий не показывают изображения (тег не имеет допустимого src).
- В базе данных старые фейковые работодатели имеют такие пути:
Код: Выделить всё
logos/default-8.jpg logos/default-3.jpg - Загруженный файл сохраняется следующим образом:
Код: Выделить всё
logos/B0GoHElRpVuZPNpKkk9IUWSsAz0q9YInQgjk9blh.jpg
Код: Выделить всё
php artisan storage:link
php artisan view:clear
Код: Выделить всё
public/logos/
public/storage/logos/
- Поддельные работодатели по-прежнему должны показывать свои случайные логотипы по умолчанию из /public/logos.
- Мой загруженный логотип должен быть взят из /storage/logos.
- Изменение assets($employer->logo) в Storage::url($employer->logo)
- Настройка ASSET_URL="${APP_URL}/storage"
- Перемещение файлов между public/logos и хранилищем/app/public/logos
- Очистка кеша и несколько представлений раз
Подробнее здесь: https://stackoverflow.com/questions/798 ... heir-logos
Мобильная версия