Как получить SQL запрос из getObject/newObject
Всем привет!
Кто-нибудь в курсе, есть ли возможность получить текст запроса при вызове getObject и newObject без их выполнения?
Кто-нибудь в курсе, есть ли возможность получить текст запроса при вызове getObject и newObject без их выполнения?
Комментарии: 10
Попробуй в системных настройках установить
А вообще, странное желание. А чего там смотреть —
debug = 1
И в журнале посмотреть чего получится.А вообще, странное желание. А чего там смотреть —
INSERT INTO table (fields_list) VALUES (values_list)
UPDATE table SET field = values WHERE id= $id
Как-то так.
INSERT и UPDATE — это все понятно, собственно, проблема в том, что ресурсы заполняются из внешнего скрипта, используя newObject для новых и getObject -> setTVValue для TV. Но их очень много, ресурсов получается не меньше 100000 (да, это сто тысяч), поэтому все это очень долго происходит (по нескольку часов).
У меня была мысль загнать все это добро в дамп и одной большой транзакцией скормить его мускулу.
debug = 1 не поможет (пробовал), скрипт выполняется из bash и результатов дебага нет даже в логах.
У меня была мысль загнать все это добро в дамп и одной большой транзакцией скормить его мускулу.
debug = 1 не поможет (пробовал), скрипт выполняется из bash и результатов дебага нет даже в логах.
Запросы эти можно вручную написать. Ничего сложного.
ну еще можно и modx не пользоваться в принципе, вопрос то не в этом…
например
не работает запрос
не работает запрос
$_lim = $modx->getObject( 'LimitedUser', [
'team_id' => clearID($_chek_team['team_id']),
'lim_module' => 'corp_event',
'lim_finish:>' => date("Y-m-d G:i", time()),
[
'lim_used' => 0,
'OR:res_id' => $_res->get('id'),
]
] );
и вот как узнать что именно не так
Условие выборки — это одномерный массив. У вас двумерный почему то. В нем проблема. Как минимум в нем тоже
а как тогда реализовать конструкцию (value AND value) OR (value AND value),
Через метод newQuery — прочтите документацию
$_lim = $modx->getObject( 'LimitedUser', [
[
'foo' => 'value',
'bar' => 'baz',
],
[
'OR:foo:=' => 'value2',
'bar' => 'baz2',
]
] );
Вместо getObject можно использовать newQuery и составить условия такие же
rtfm.modx.com/xpdo/2.x/class-reference/xpdoquery
rtfm.modx.com/xpdo/2.x/class-reference/xpdoquery
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.