Для вывода звездочек в ваших шаблонах вы можете сделать следующее в примере ниже. Но сначала небольшая заметка о вашем использовании переменной: попробуйте сделать любые массивы отзывов множественными и один обзор по отдельности. Так что $reviews
для всех обзоров и одного отзыва $review
. Это делает ваш код более читабельным и понятным для вас и других.
Таким образом, ваше свойство $review->rating
является числом. Когда число равно 3, вы хотите показать 3 звезды с правильным стилем.
Используйте al oop для вывода 5 звезд. Внутри этого l oop посмотрите, является ли индекс текущей звезды ниже или равен номинальному значению. Когда это так, это означает, что текущая звезда должна быть частью рейтинга. А если это не так, это означает, что эта звезда должна быть серого цвета или иметь другой стиль.
Это приведет к тому, что все звезды, которые должны быть золотыми, будут иметь класс star--gold
, который можно соответственно стилизовать. .
@if(count($reviews) > 1)
@foreach($reviews as $review)
<div class= "well">
<h3>
<a href="/reviews/{{ $review->title }}">{{ $review->title }}</a>
@for ($i = 0; $i < 5; $i++)
@if ($i < $review->rating)
<span class="star star--gold"></span>
@else
<span class="star"></span>
@endif
@endfor
</h3>
<small>{{ $review->created_at }}</small>
<br>
<small>{{ $review->body }}</small>
<br>
<br>
</div>
@endforeach
@else