Shlop
@Shlop
Программист

Как лучше получать определенный размер превью в view?

Сейчас я получаю изображение товара вот так:
<div class="columns__left_five">
    <div class="frame frame_item product__frame">
        <img src="{{$product->images->first()->src}}" alt="{{$product->name}}">
    </div>
</div>

Таблица images в БД, выглядит вот так:
Миграция images
Schema::create('images', function (Blueprint $table) {
    $table->increments('id');
    $table->string('src',100); // Тут я подразумеваю путь до размера привью normal
    $table->boolean('is_content')->default(false);
    $table->unsignedTinyInteger('index')->nullable();
    $table->morphs('entity');
});

У меня есть несколько привью: small,normal,big
Путь до картинки к примеру small, выглядит вот так:
/images/products/4/small/5ec675586acc03.03907717.jpg

И вот как получать определенное привью ?

Я пока что думаю насчёт метода в модели:
public function getThumbs($thumb, $baseFolder)
{
    $fileName = basename($this->src);
    return Storage::disk("uploads")->url("{$baseFolder}/{$thumb}/{$fileName}");
}

А во View уже вызывать этот метод getThumbs на модели, передавая название привью и часть пути - "products/$product->id"

Но как то кажется этот вариант не очень из-за того что часть пути придётся передавать.

Заранее благодарю за ответ
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы