Mojtabanaemi
Mojtabanaemi

Reputation: 1

laravel blade limiting the showing images proplem

everyone, I have a problem in laravel blade I have a page for my website that show all the image because my website is a sale website but when I load the page it shows all the images but I don't want to show all the images I want to hide a images after three or four columns if someone can help me please. thanks for everyone.

this is my blade code:

 <section class="container custom-margin ">
        <h5 class="text-center" style="text-shadow:  1px 1px 2px black; color: #1b1e21">مجموعه ما با ۲۰۰۰ خوابگا در سطح کشور</h5>
        <div class="justify-content-center thin-underline-1"></div>
        <div class="row justify-content-center">
          @foreach($hostels as $hostel)
            @foreach($hostel->hostelDetails->attachments as $photo)
              <div class=" col-12 col-sm-6 col-md-6  col-lg-3 px-1  mt-4 small-device-hid ">
                    <div class="card card-shadow custom-height-1 " style="border-radius: 0%">
                      <a href="{{route('khabgah_detailes.goToDetails',$hostel->id)}}"> <img  src="/images/{{ $photo->file_name }}"
                        class="card-img-top card-img custom-card-img-height" alt=""></a>
                        <div class="car-body">
                            <div class="card-footer">
                                <div class="custom-circle"><p class="custom-circle-text card-text"><b>
                                  @if($hostel->type == 1)
                                  {{ 'ذکور'}}
                                  @else {{ 'اناث' }}
                                  @endif
                                 </b></p></div>
                                <div class="custom-prices card-text text-left"> کرایه فی ماه : {{$hostel->hostelDetails->remark }}  </div>
                                <div class="row mt-3">
                                    <div class="col-12 col-sm-12 col-md-12 mb-2 ">
                                        <span class="card-text">آدرس :  {{$hostel->addresses->state }}  {{$hostel->addresses->rood}}
                                            {{$hostel->addresses->station }}  {{$hostel->addresses->alley}}
                                          </span>
                                    </div>

                                </div>
                            </div>
                        </div>
                    </div>
                  </div>
                @endforeach
            @endforeach
          </div>
    </section>

Upvotes: 0

Views: 258

Answers (1)

mdexp
mdexp

Reputation: 3567

Since every Laravel relation return a collection instance, you could as well use the take method to obtain the first N objects in your collection.

For example:

@foreach($hostel->hostelDetails->attachments->take(3) as $photos)

Another way would be to use the query builder of the attachments relation to limit the results at query level:

@foreach($hostel->hostelDetails->attachments()->limit(3)->get() as $photos)

The latter way would love preferred performance-wise as it would only fetch the needed models from the database. The former would fetch all the models from the database and would only display a few of them.

Upvotes: 1

Related Questions