сразу хочу сказать, что мой код не может быть априори самым правильным и самым лучшим, но негласные правила требуют, чтобы ваш код был понятен другим и зачем вы это делаете. Даже для самого себя лучше комментировать код и делать его понятным, чтобы завтра кто-то мог понять весь алгоритм и последовательность действий. Я даже SQL запросы имею привычку комментировать
$std = $db->prepare("DELETE FROM vatinvoice_data WHERE item_uuid = ? AND vatinvoice_uuid = ?");
// раз удалили данные, то надо вернуть состояние для тех order_data_id, для которых удалили данные
// вытаскиваем
$sts = $db->prepare("
SELECT
id.quantity AS quantity_invoice -- количество по инвойсу
SUM(wd.quantity) AS quantity_waybill, -- вытаскиваем сумму из всех реализации
SUM(vd.quantity) AS quantity_closed -- суммируем количество из СФ
FROM
vatinvoice_data vd -- вытаскиваем данные из СФ
JOIN vatinvoices v ON -- прикручиваем сам СФ по vatinvoice_uuid
v.vatinvoice_uuid = vd.vatinvoice_uuid
JOIN waybill_data wd ON -- прикручиваем данные из реализации
wd.waybill_uuid = v.waybill_uuid
JOIN invoice_data id ON
id.item_uuid =
WHERE
wd.item_uuid = ? AND
wd.waybill_uuid = ?
GROUP BY
id.quantity
");
$stu = $db->prepare("UPDATE order_data SET status = ? WHERE order_data_id = ?");
на сколько я помню, в настройках пгадмин есть пункт типа отправлять запросы с begin+commit или нет. Он кажись и зависает. Сам не пользовал 4-ую версию, но тоже кажется сталкивался.
zorca: не согласен... это все равно что сказать что инвалид - не человек. Знание языка конечно упростит получение опыта и развития, но правильность или не правильность - это совсем иное. Те кто знают английский язык зачастую задают такие же вопросы что и автор топика.
конструктор - это конструктор! В нем ничего не должно делаться по правилам хорошего тона.
Вы туда только передаете данные и получаете экземпляр класса. А уже потом вызываете метод. Это правильней.
глянул исходники... нет у них в make uninstall. ну придется ручками чистить. Там не много. По команде что конфигурировали, пройдитесь по путям и удалите хлам. Можете по дате создания отфильтровать.
а на сайте общая инструкция как ставить.
и посмотрите что такое apt и dpkg в убунту. Это инсталляторы готовых пакетов.
а на будущее, если соберетесь ставить что-то самосборное, то при конфигурировании ставьте
./configure --path=/opt/<название того, что ставите>
легко убирается и не засирается. Если понравится, то можно уже конфигурировать с конкретными путями. Не понравится - удалили и поделом. Но мне за 15 лет опыта только пару раз пришлось компилировать нужный исходник... все что нужно уже есть в репозитарии.
вообще когда собираете из сорсов, то инит скрипт тоже собирается. Его то и надо брать, а не качать от куда попало. Вы же когда конфигурировали указывали место инсталляции, так вот в init скрипте будут все параметры запуска, с указанием бинарников и конфигов.