ОК, конечно, там должен быть способ сделать этот код работатьMagento Запятой Ломать Запрос
->addExpressionFieldToSelect(
'learn_about_us',
'(SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(p.fields,";",2),":",-1) FROM plugincompany_contactforms_entry p WHERE main_table.entity_id = p.entity_id)'
);
по какой-либо причине, что проклятая точка с запятой ломая вещи. Я хочу его там, потому что занимаюсь сериализованными данными и не хочу обрабатывать php-сторону. Но да ... если у кого-то есть какие-то соображения относительно того, как я могу заставить этот запрос работать, пожалуйста, дайте мне знать.
Здесь ошибка кстати
Column not found: 1054 Unknown column '(SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(p.fields,";",2),":",-1)
Временное решение
Не знаете, как это обойти, но в этом файле
app/code/core/Zend/Db/Select.php
вокруг линии 1396 есть защищенную переменную
protected $_controlCharacters = array(
';',
'--',
'#',
'/*',
'*/',
);
Обратите внимание на точку с запятой в начале, если я удалить это, то мой запрос, наконец, работает ... не бросит уверен, если есть способ обойти эту = \
Использовать обратную косую черту, чтобы избежать точки с запятой? –
Не работает, это была моя первая мысль – Banning