Size: a a a

2019 May 13

РИ

Роман Игумнов in Laravel UA
))))
источник
2019 May 14

В

Вячеслав in Laravel UA
источник
2019 May 15

РИ

Роман Игумнов in Laravel UA
Ребята всем привет. Использую по вашей рекомендации laravel media library. Вот столкнулся с проблемой. Есть общий список товаров в переменной $products; Чтобы получить файл фотографии к товару я мог додуматься только до такого варианта. Может могли бы кто подсказать рефактинг этой чуши? И еще getUrl() не выдает фото. Точнее фото есть, но если в адресе фото идет domain::// В начале, то не работает фото

@foreach ($products as $product)
@php
    foreach ($product->getMedia('product_img') as $item) {
@endphp
<img src="{{$item->getUrl()}}" width="200">
@php } @endphp
источник

РИ

Роман Игумнов in Laravel UA
разве что еще в голову приходит так это в контроллере написать
источник

РИ

Роман Игумнов in Laravel UA
public function index()
   {
       $products = $this->service->getAll();
       
       foreach ($products as $product) {
           foreach ($product->getMedia('product_img') as $media) {
               return $media;
           }
       }
       return view('admin.product.index', compact('products','media'));
   }
источник

D

Dymon in Laravel UA
Роман Игумнов
public function index()
   {
       $products = $this->service->getAll();
       
       foreach ($products as $product) {
           foreach ($product->getMedia('product_img') as $media) {
               return $media;
           }
       }
       return view('admin.product.index', compact('products','media'));
   }
фото можно как связь подтянуть через with. Ты для них связь делал?
источник

РИ

Роман Игумнов in Laravel UA
Dymon
фото можно как связь подтянуть через with. Ты для них связь делал?
Сделал так
источник

РИ

Роман Игумнов in Laravel UA
В модели

public function registerMediaConversions(Media $media = null)
   {
       $this->addMediaConversion('product_img')
           ->width(800)
           ->height(800)
           ->sharpen(10);
   }
источник

D

Dymon in Laravel UA
подзабыл уже, это в трейте HasMediaTrait. Если его в модель добавил, можешь в контроллере написать $this->service->with('media')->getAll()
источник

D

Dymon in Laravel UA
Роман Игумнов
В модели

public function registerMediaConversions(Media $media = null)
   {
       $this->addMediaConversion('product_img')
           ->width(800)
           ->height(800)
           ->sharpen(10);
   }
вот у них есть демка, разверни у себя, посмотри как и что
https://github.com/spatie/medialibrary-demo-laracon
источник

РИ

Роман Игумнов in Laravel UA
public function media()
   {
       return $this->morphMany(config('medialibrary.media_model'), 'model');
   }
источник

РИ

Роман Игумнов in Laravel UA
Call to undefined method App\Services\ProductService::with()
источник

D

Dymon in Laravel UA
ну ты же через репу достаешь данные, значит и with нужно туда же добавить
источник

РИ

Роман Игумнов in Laravel UA
Call to undefined method Illuminate\Database\Eloquent\Builder::all()
источник

РИ

Роман Игумнов in Laravel UA
public function getAll()
   {
      return $this->product->with('media')->all();
   }
источник

РИ

Роман Игумнов in Laravel UA
РЕлайшин точно не нужен?
источник

D

Dymon in Laravel UA
не, ты же его в трейте добавил
источник

РИ

Роман Игумнов in Laravel UA
В модели я юзаю     use HasMediaTrait;
источник

РИ

Роман Игумнов in Laravel UA
Dymon
не, ты же его в трейте добавил
Понял. Блин чего же он не хочет работать))
источник

OL

Oleh Levchenko in Laravel UA
Роман Игумнов
public function getAll()
   {
      return $this->product->with('media')->all();
   }
get()
источник