Laravel ErrorException в коллекции. php строка 947: неопределенное смещение: 0 - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть блок скидок на страницах сайта. Эти скидки меняются раз в 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;, он покажет все мои скидки за столом.

Где может быть моя проблема? Как я могу исправить эту ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...