Как не показать изображение, если его нет? - PullRequest
0 голосов
/ 25 октября 2019

у меня три стола. Категория, PostAd и PostImage. Чтобы показать сообщение, я должен показать его из таблицы категорий. Код моего контроллера.

$data['category'] = Category::with(['child','children','parent','postads.postimage','postads'=>function($q) use ($asc){
    $q->orderBy('created_at',$asc);
}])->where('id',$id)->get();

Для отображения изображения я должен использовать вложенные отношения в postads.postimage.

Код блейда

@foreach($category as $cat)
    @foreach($cat->postads as $c)
        <a href="{{route('particular',['id'=>$c->id])}}">
            <li>
                @foreach($c->postimage as $pi)
                    <img src="{{asset('thumbnail/'.$pi->image)}}"  alt="No image" style="margin-top: 5px" >
                @endforeach
                <section class="list-left">
                    <h5 class="title">{{$c->adtitle}}</h5>
                    <span class="adprice">Rs. {{$c->price}}</span>
                    <p class="catpath">{{$cat->categoryname}} » {{$cat->categoryname}}</p>  
                </section>
                <section class="list-right">
                    @auth
                        <div class="like1">
                            <i class="fas fa-heart" pid="{{$c->id}}" uid="{{auth()->user()->id}}"></i>
                        </div>
                    @endauth
                    <span class="date">{{date('D',strtotime($c->created_at))}}-{{date('M',strtotime($c->created_at))}}-{{date('Y',strtotime($c->created_at))}}</span>
                    <span class="cityname">{{$c->address}}</span>
                </section>
                <div class="clearfix"></div>
            </li> 
        </a> 
    @endforeach
@endforeach

из-за цикла foreach, мой дизайнполучает повреждения. Я хочу показать изображение alt, но из-за этого ничего не отображается и все портится. image

1 Ответ

4 голосов
/ 25 октября 2019

Вы можете использовать @forelse

@forelse($c->postimage as $pi)
    <img src="{{asset('thumbnail/'.$pi->image)}}"  alt="No image" style="margin-top: 5px" >
@empty
    <!-- some HTML, default image or something, whatever you need -->
@endforelse

https://laravel.com/docs/5.8/blade#loops

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...