好的,肯定有办法让这段代码正常工作
->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端。但是...如果有人有任何问题我可以如何让这个查询工作,请让我知道。
这是错误btw
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(
';',
'--',
'#',
'/*',
'*/',
);
注意开头的分号,如果我删除了这个,那么我的查询最终会有效...不要退出确定是否有办法解决这个问题= \
答案 0 :(得分:0)
我不认为你的分号是破碎的东西。 addExpressionFieldToSelect()
有3个参数,$alias, $expression, $fields
,您错过了其中一个参数。