Цена перезаписывается, несмотря на различные условия $ this-> price; - PullRequest
0 голосов
/ 17 декабря 2018

Я новичок в Symfony v2.0, и мне интересно, почему моя окончательная цена перезаписывается, несмотря на то, что я использую разные if аспекты.Конечная цена использует только последнее использованное значение $this->price и сбивает с толку мои калькуляторы цен, например:

if ($this->mode == 'coaching')
                {

                $n = $this->orderDetails->{'hours-number'};
                if($n == 1)
                    $this->price = 5;
                else if($n == 2)
                    $this->price = 35;
                else if($n == 3)
                    $this->price = 45;
                else if($n == 4)
                    $this->price = 55;
                else if($n == 5)
                    $this->price = 65;

                $this->eta = '1 Day';

                $w = 0;

                if ($this->orderDetails->{'option'} == 'wins')
                {
                    $w = $this->orderDetails->{'wins-number'} * 2;
                    $this->price = $w;

                }
                $p = 0;

                if ($this->orderDetails->{'option'} == 'self')
                {
                    $p = $this->orderDetails->{'wins-number'} * 2.5;
                    $this->price = $p;

                }

Будет отображаться только окончательная $this->price, несмотря на то, что вызываются только «часы»,Должен ли я написать код по-разному, в то время как у меня есть несколько условий, влияющих на цену?

У меня также есть свои функции, написанные в index.html.twig:

function updateOrderArray()
        {
            var nData = {};

            $('*[pp-type="item"]').each(function() {
                if ($(this).attr('type') == 'checkbox')
                {
                    nData[ $(this).attr('pp-item-name') ] = $(this).is(':checked');
                }
                else
                {
                    nData[ $(this).attr('pp-item-name') ] = $(this).val();
                }
            });

            var nJSON = JSON.stringify(nData);
            $('input[name="order_details"]').val(nJSON);


            checkDivisions();
            calculatePrice();
        }

        function calculatePrice()
        {
            $('#arena-price').html('<i class="fa fa-spinner fa-spin" aria-hidden="true"></i>');
            $('#arena-eta').html('<i class="fa fa-spinner fa-spin" aria-hidden="true"></i>');

            $.ajax({
                method: 'POST',
                url: '{{ path('service_price') }}',
                dataType: 'JSON',
                data: {
                    mode: 'coaching',
                    order_details: $('input[name="order_details"]').val()
                }
            })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...