Nikolay
картинки например, может мне логику добавления фото со всеми превью, алиасами и прочими через sql писать?
Nikolay
как это сделать на чистом sql без гемора?
Sergey_K
Nikolay
сгенерить алиасы товарам?
Sergey_K
Nikolay
это только первое что в голову пришло
Nikolay
ага, они самые
Sergey_K
а в чем проблема?
Nikolay
там не только в базе данные, но ещё и сами картинки, и папки к ним
Nikolay
а то что мне надо логику кучи вещей переписать))
Sergey_K
импортируй все, генери пути, а ПОТОМ генери по путям тамбнейлы
Sergey_K
в чем проблема?
Nikolay
да ну, заняться что ли больше нечем))
Sergey_K
Никакой логики переписывать не надо
Sergey_K
У меня триггерами обновляется сумма заказа
Sergey_K
Потому что штатный процессор запускать это хз что. А само оно не обновляется.
Nikolay
как не надо, мне надо написать то же что описано в куче процессоров, только читыми запросами, всё это отладить, чтобы нигде не накосячить...
Sergey_K
Ты либо не владеешь sql либо одно из двух, уж прости.
Но это все пишется намного быстрее, чем ковырять то же самое в модх
Sergey_K
Как там накосячить - хз.
Nikolay
а ты не владеешь modx) потому что на процессорах по любому быстрее
Nikolay
sql да не очень
Nikolay
но всё временно
Sergey_K
Прости, но процессор крутит все свое, а потом вызывает еще и коряво, sql
Sergey_K
еще и не в одной транзакции
Nikolay
сорри но не понимаю в чем сложности процессоров, там всё готово, указываешь несколько параметров, и всё само делается в базе
Nikolay
запросы городить, это пипец сколько писанины, не напутать ещё
Gaius Cassius
Sergey_K
Sergey_K
любопытно посмотреть
Gaius Cassius
или update Ф+И+О в одну колонку?
Sergey_K
Тут часто городят циклы
Nikolay
процессор можно запустить хоть из сниппета
Gaius Cassius
Gaius Cassius
т.е. конечный вариант
Nikolay
да там плюс минут тоже самое
Gaius Cassius
процессор - это дофига кода прослойки, когда на том же sql можно сделать точно так же и с меньшим кодом. + в поддержке проще
Nikolay
$order->set();
Gaius Cassius
Sergey_K
Ну ты в теме, что каждый твой getObject() это как минимум один запрос в БД и херова туча памяти?
Sergey_K
BEGIN
if (new.cost <> old.cost) then
select sum(cost) into @cart_cost
from ms2_order_products
where order_id = new.order_id;
update ms2_orders
set cart_cost = @cart_cost, cost = @cart_cost + delivery_cost
where id = new.order_id;
end if;
END
Sergey_K
Вот полный код апдейта
Sergey_K
Весь.
Sergey_K
100%.
9 строк
Gaius Cassius
и простых и понятных
Nikolay
ну у меня копипаст процессора, кочует из кода в код, логики там пару строк)
Sergey_K
Логики пара строк?
Nikolay
а тут целый 10 нужно напрячь мозг
Sergey_K
Листинг метожа getObject() покажи
Sergey_K
Там тоже 2 строки?
Sergey_K
Ну в общем, да :)
Sergey_K
Как и кол-во запросов
Nikolay
$order = $modx->getObject('msOrder', 5);
$order->set('price', 500);
$oder->save();
это чисто навскидку
Sergey_K
Чувак
Gaius Cassius
просто explain не смотрел, по процессорам
Nikolay
по крайней мере я не напрягаюсь)
Gaius Cassius
Gaius Cassius
даже банальный exec в 2 строки будет быстрее
Gaius Cassius
ну извини, тут без напряга мозга никак. Ну или на вп темы ставить
Nikolay
лично я в первую очередь экономлю ресурсы моего процессора в голове, он у меня к сожалению одноядерный))
Sergey_K
Епта
Sergey_K
Простой пример
Sergey_K
<?php
$res[] = memory_get_usage();
$order = $modx->getObject("msOrder", 2242);
$res[] = memory_get_usage();
var_dump($res);
Sergey_K
array(2) { [0]=> int(6251432) [1]=> int(6257944) }
Павел
Отказаться от ORM - нельзя, ровно как и обойтись исключительно им
Павел
о чем вы вообще спорите
Павел
и зачем
Nikolay
люди просто modx не знают, но знают sql)
Sergey_K
Ну Коля топит на предмет того, что запросы в базу это слишком сложно
Gaius Cassius
никто не спорит. просто говорим, что чистый скуль тоже неплохо знать, для решения определенных задач
Sergey_K
SQL надо значть, чтобы понимать, КАК это работает
Nikolay
да я им пользуюсь почему нет, но не вижу смысла для простых операций городить запросы
Sergey_K
А не по-обезьяньи копипастить
Nikolay
копипаст спасёт мир)