У меня есть блок скидок на страницах сайта. Эти скидки меняются раз в 24 часа, но иногда случается, что cron не работает и скидки не меняются. И в этом случае, когда я захожу на сайт, я получаю следующую ошибку:
ErrorException in Collection.php line 947: Undefined offset: 0
Эта ошибка возникает из-за того, что я выводил товары со скидкой > 1
в блоке, и когда наступают новые дни, значения в столбце discounts
сбрасываются на 0 и скидок для отображения в блоке нет, из-за этого возникает ошибка.
Мой контроллер:
$date = Carbon::today();
$count_discount = Item::where('discount', ">=", 1)->where('updated_at', '>=', $date)->get();
$item_bd = Item::where('discount', ">=", 1)->where('updated_at', '>=', $date)->orderByRaw('RAND()')->take(5)->get();
$classid = $item_bd[0]->classid;
$name = $item_bd[0]->market_hash_name;
$old_price = $item_bd[0]->price;
$discount = $item_bd[0]->discount;
$new_price = $item_bd[0]->price - (number_format($item_bd[0]->price / 100 * $discount, 2));
Мой клинок:
@if(empty($count_discount))
@else
<div class="widget-container game-widget last-widget"><div class="widget">
<div class="back" style=" transform: scaleX(1);margin-top: -10px;">
<h4 class="p2p-new-items-widget-header">
<span rv-t="">Discount</span>
</h4> <div class="body ">
<div class="p2p-new-items-widget-item-container">
<img class="p2p-new-items-widget-item-image" src="https://steamcommunity-a.akamaihd.net/economy/image/{{ $classid }}/100x100">
<div class="p2p-new-items-widget-item-name">{{ $name }}</div>
<div class="p2p-new-items-widget-item-price">
<s><span rv-currency="data.item:price | multiply 1.05">{{ $old_price }}</span></s>
<span class="text-primary" rv-currency="data.item:price">{{ $new_price }}</span>
</div>
</div>
<a class="p2p-new-items-widget-link" href="/store" rv-t="">At store</a>
</div>
</div>
@endif
Я пытался в шаблоне перед этим блоком использовать @if(empty($count_discount)) @else
, но я все еще получаю ошибку. Если я сделаю var_dump($count_discount); exit;
, он покажет все мои скидки за столом.
Где может быть моя проблема? Как я могу исправить эту ошибку?