Рассмотрим этот пример ... который получает изображение продукта.
Эта функция должна получать данные только в том случае, если она существует, в противном случае она должна возвращать ноль ... потому что в противном случае она получит изображения для продукта. на сайте будет отображаться 404 не найденное изображение ...
// Product. php
public function getFileImageURL()
{
$referType = 1; //Product = 1
if(File::where('file_refer_id','=', $this->id)
->where('file_refer_type','=', $referType)
->count()>0)
{
return $imageFileItems = File::where('file_refer_id','=', $this->id)
->where('file_refer_type','=', $referType)
->get();
}
}
РЕДАКТИРОВАТЬ:
Дополнительные сведения
// ProductController. php
public function show($slug)
{
$product = $this->productRepository->findProductBySlug($slug);
$productImages = $product->getFileImageURL();
return view('pages.product.show', compact('product', 'productImages'));
}
// product / show.blade. php
@if($productImages)
<a href=" {{ $productImages->first()->file_url }}" data-lightbox="product-images" data-alt="{{ $productImages->first()->title }}" data-title="{{ $productImages->first()->name }}"><img src="{{ $productImages->first()->file_url }}"></a>
@else
<a href="#"><img alt="Image not found" src="{{ asset('images/products/404.png') }}"></a>
@endif