PHP/Doctrine 1.2/MySQL - Идентификация одного значения в зависимости от другого значения

Я работаю над системой онлайн-склада/покупок (php + доктрина + mysql), где каждый продукт может иметь более одной цены в зависимости от количества. У меня есть две таблицы (1) Product и (2) Price:

Продукт

id    name
1     product1  
2     product2
3     product3

Цена

id  product_id     from    to      price
1   1              1       10      90
2   1              11      20      80
3   1              21      30      70

Как видите, product1 имеет 3 разные цены. Например, если покупатель покупает от 1 до 10 товаров1, он должен получить первую цену - 90, от 11 до 20 - следующую цену - 80 и так далее.

Поскольку вычисление является прогрессивным, общий результат будет следующим:

Счет

id  product_id   quantity    price_id
1   1            10          1
2   1            10          2
3   1            10          3

Вопрос в том, как лучше всего определить уровень цен в зависимости от количества продукта с помощью Doctrine.

Заранее спасибо!


person Vasil Dakov    schedule 30.05.2012    source источник


Ответы (1)


Создайте метод getPrice() в своей модели продукта и заставьте его выполнять вычисления. Затем вы можете вызвать его с помощью: $product->price или $product->getPrice(). Я бы не стал пытаться делать вычисления с вашими запросами DQL/SQL.

person Mike B    schedule 30.05.2012