akxxiv
Новичок
OOП и количество запросов к БД
Что-то я в ООП торможу... Откуда ни посмотрю - расход ресурсов...
Ситуация такая. Заказчик формирует заказ логистической компании на перевозку груза в разные города и в разные магазины.
В данные заказы добавляются накладные, которые имеют номер, дату, пункт доставки, количество и сумму груза. Соответственно для хранения информации используются
1. Таблица заказчиков - customers
2. Таблица заказов - orders
3. Таблица городов - cities
4. Таблица сторговых сетей - nets
5. Tаблица магазинов - deliveryPoints
6. Tаблица накладных - waybills
Вот. Это упрощенная структура данных. Теперь нужно выбрать список накладных, в котором будут указаны имя заказчика и полное название пункта доставки (Города::Сеть::Магазин). Сейчас я просто составляю запрос к БД с 5-тью джойнами и обрабатываю массив. А если это делать посредством ООП?
Что имеем объект накладные с методами
$waybill = new waybill($i);
$waybill->getNumber();
$waybill->getDate();
$waybill->getSum();
Здесь все ясно, в при инициализации идет выборка из БД а затем просто отдаются значения.
$waybill->getDp();
А вот здесь скорее всего создается объект Пункта доставки, который считывает из БД свои параметры, который в свою очередь создает объекты городов и сетей, это уже 4 запроса к БД.
А для выборки Заказчика из накладной нужно действовать через объект заказа, а это еще 2 запроса. И нужно вывести список из 50 накладных....
Этож сколько запросов???
Или я совсем не догоняю. Как проектируются такие системы на ООП???
Что-то я в ООП торможу... Откуда ни посмотрю - расход ресурсов...
Ситуация такая. Заказчик формирует заказ логистической компании на перевозку груза в разные города и в разные магазины.
В данные заказы добавляются накладные, которые имеют номер, дату, пункт доставки, количество и сумму груза. Соответственно для хранения информации используются
1. Таблица заказчиков - customers
PHP:
id - id заказчика
name - наименование заказчика
.....
PHP:
id - id заказа, он же номер заказа
date - Дата заказа
PHP:
id - id города
name - Имя города
PHP:
id - id сети
name - Имя сети
PHP:
id - id магазина
name - Имя магазина
net_id - id сети, к которой принадлежит магазин
city_id - шв города
PHP:
id - id накладной
number - номер накладной
date - дата накладной
num_pallets - количество палет
sum - сумма
order_id - id заказа к которому принадлежит накладная
dp_id - id пункта доставки (магазина)
Что имеем объект накладные с методами
$waybill = new waybill($i);
$waybill->getNumber();
$waybill->getDate();
$waybill->getSum();
Здесь все ясно, в при инициализации идет выборка из БД а затем просто отдаются значения.
$waybill->getDp();
А вот здесь скорее всего создается объект Пункта доставки, который считывает из БД свои параметры, который в свою очередь создает объекты городов и сетей, это уже 4 запроса к БД.
А для выборки Заказчика из накладной нужно действовать через объект заказа, а это еще 2 запроса. И нужно вывести список из 50 накладных....
Этож сколько запросов???
Или я совсем не догоняю. Как проектируются такие системы на ООП???