Also ich bin ziemlich neu bei Laravel und PHP, also hatte ich ein paar Fragen.Laravel verwenden, um eine Ansicht mit Posts zu rendern und Likes von diesem Post abzurufen
Gerade jetzt habe ich ein Post-Modell, das viele Likes hat. Momentan versuche ich alle Posts in einer Ansicht anzuzeigen mit @foreach($posts as $post)
, um die Posts vom Controller zu erhalten (dieser Teil funktioniert bereits, Code zum Abrufen von Post-Inhalt nicht relevant) Ich möchte alle Vorlieben und Abneigungen anzeigen, die ein Post in einem hat prägnante Art und Weise.
Gegenwärtig ist ein Like-> Like == 1 ein Like und ein Like-> Like == 0 ist eine Abneigung.
Wenn also ein Beitrag 5 Abneigungen hat, wird es angezeigt: Bob Jane und 4 andere Dislike dieses
Oder wenn es hat 2 Abneigungen: Jane Doe und John Teach Dislike diese
<div class = "dislikes">
@if(count($post->likes->where('like',0))==0)
@elseif(count($post->likes->where('like',0))==1)
{{ $post->likes->where('like', 0)->first()->user->first_name }} {{ $post->likes->where('like', 0)->first()->user->last_name }} Disikes this
@elseif(count($post->likes->where('like',0))==2)
{{($post->likes->where('like', 0))->first()->user->first_name}} {{($post->likes->where('like', 0))->first()->user->last_name}} and {{($post->likes->where('like', 0))->last()->user->first_name}} {{($post->likes->where('like', 0))->last()->user->last_name}} Dislike This
@elseif(count($post->likes->where('like', 0))>=4)
{{($post->likes->where('like', 0))->first()->user->first_name}} {{($post->likes->where('like', 0))->first()->user->last_name}} and {{count($post->likes->where('like', 0)) - 1}} Others Like This
@else
@for($i=0;$i<count($post->likes->where('like',0));$i++)
@if($i+1 == count($post->likes->where('like',0)))
and {{$post->likes->where('like',0))->get()[$i]->user->first_name}} {{$post->likes->where('like',0)->get()[$i]->user->last_name}} Like This
@else
{{$post->likes->where('like',0)->get()[$i]->user->first_name}} {{$post->likes->where('like',0)->get()[$i]->user->last_name}} ,
@endif
@endfor
@endif
</div>
Ich habe mit dem Code für ein paar Stunden herum gespielt, aber ($post->likes->where('like',0))[$i]->user->first_name
funktioniert nicht in meiner for-Schleife, und ($post->likes->where('like',0))[$i]->user->first_name
wird auch nicht funktionieren. (Ich habe herum mit der Klammerplatzierung ein wenig gespielt, um zu versuchen und zu beheben)
Ich bin ratlos. Irgendwelche Vorschläge über einen besseren Weg, dem ich mich nähern könnte, würden sehr geschätzt werden.
Vielen Dank.
die $ ist post-> likes-> wo ('like', 0) nicht leer? ist das nicht $ post-> likes-> where ('like', 0) -> get()? – Beginner