Как сделать процент скидки на товары в Laravel - PullRequest
0 голосов
/ 03 июня 2019

Я хочу показать процент скидки на мои продукты.

Я получаю эту ошибку:

Деление на ноль (0)

Можеткто-нибудь подскажет, что я делаю не так?

@foreach ($Products as $product)
            <div>
                <span>{{ (($product->promo_price/$product->original_price) * 100) }}% <br />OFF</span>
                <img src="{{ asset('/storage/'.$product->image) }}" />
            </div>
            <div>
                <h2>{{ $product->title }}</h2>

                    <ins>  
<span>{{ $product->original_price }}DHs</span>
{{ $product->promo_price}}Dhs   
</ins>
            </div>
@endforeach

Ответы [ 2 ]

1 голос
/ 03 июня 2019

Ошибка связана с тем, что для некоторых продуктов значение original_price равно 0 или равно нулю.

Перед печатью скидки необходимо проверить, есть ли у них original_price:

@foreach ($Products as $product)
    <div>
        @if ($product->original_price)
        <span>{{ (($product->promo_price/$product->original_price) * 100) }}% <br />OFF</span>
        @endif
        <img src="{{ asset('/storage/'.$product->image) }}" />
    </div>

    <div>
        <h2>{{ $product->title }}</h2>

        <ins>  
            <span>{{ $product->original_price }}DHs</span>
            {{ $product->promo_price}}Dhs   
        </ins>
    </div>
@endforeach

Я добавил условие в строке 3, которое будет отображать <span> со скидкой, только если у вас есть original_price для продукта, и оно не равно 0.

1 голос
/ 03 июня 2019

Ошибка говорит сама за себя: вы делитесь на ноль, что недопустимо в обычной арифметике.

Убедитесь, что $product->original_price имеет значение, прежде чем использовать его в качестве знаменателя, возможно, оно равно 0 или null

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