$vitrinesX = Vitrine
::with('user_vitrine')
->ativa()
->aprovada()
->global(Auth::user()->tipoparticipante_id)
->orderBy('id','desc')
->withCount([
'user_vitrine as qtdeCurtiu' => function (Builder $query) { $query->where('curtiu', 1); },
//'user_vitrine as naocurtiu' => function (Builder $query) { $query->where('curtiu', 0); }
])
->get()->paginate(5)
->each(function($vitrine) {
$vitrine->liked_by= $vitrine->user_vitrine->pluck('id');
});
<section class="row">
@foreach($vitrinesX->chunk(3) as $row)
@foreach($row as $vitrine)
<div class="col-sm-12 col-md-4">
@php
// Added ------------------------------------------------
$vitrine->liked_by= $vitrine->user_vitrine->pluck('id');
//--------------------------------------------------------
$currentUserId = auth()->user()->id;
$hasUserVoted = $vitrine->liked_by->contains($currentUserId);
@endphp
<div class="box-noticias">
<a href="javascript:void(0);" onclick='hotsite.vitrine.abrirVitrine({{$vitrine->id}});' >
<img src="{{ $vitrine->url }}">
</a>
</div>
<p id="like" class="likes" @if (!$hasUserVoted ) onclick="hotsite.vitrine.salvarEscolha({{ $vitrine->id }}, 1, this)" @endif>
<i class="fa fa-thumbs-up"></i> <span id="qtdeCurtiu_{{ $vitrine->id }}">{{ $vitrine->qtdeCurtiu }}</span>
</p>
</div>
@endforeach
@endforeach
</section>
<section class="row">
...
</section>
{{ $vitrinesX->links() }}
I can't test at the moment, but I think you need to re-order your methods slightly:
Open in new window
The paginate() method need to go before the get() method.