проблема с laravel: неопределенное смещение: 0 - PullRequest
0 голосов
/ 21 марта 2020

У меня есть блок скидок на моем сайте. В таблице с товарами есть столбец discount, а если он имеет значение > 0, то отображается блок со скидками. Если скидок нет, блок скидок не должен отображаться. И с этим есть проблема. Если скидок нет, я получаю сообщение об ошибке Undefined offset: 0.

Мой код:

$date = Carbon::today();
$count_discount = count(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 ($count_discount === 0)
// no discount
@else
// block with dicsount
@endif

Если есть есть скидка в базе, блок скидок отображается отлично, если нет скидок, я получаю ошибку.

Как я могу исправить эту ошибку?

1 Ответ

0 голосов
/ 22 марта 2020

Вы можете использовать empty () в своем клинке. В вашем контроллере используйте этот код

$count_discount = Item::where('discount', ">=", 1)->where('updated_at', '>=', $date)->get();

Затем в вашем блейде используйте

@if(empty($count_discount))
Do something if no discount
@else
Do something with if discount is exist
@endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...