Mysql Prestashop-使用$this时出错->_在adminController中选择
当我扩展adminController并定义要在$this->\u select变量中显示的属性时,Prestashop显示此错误: 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在“a.store\u name,a.id\u product FROMMysql Prestashop-使用$this时出错->_在adminController中选择,mysql,sql,controller,prestashop,prestashop-1.6,Mysql,Sql,Controller,Prestashop,Prestashop 1.6,当我扩展adminController并定义要在$this->\u select变量中显示的属性时,Prestashop显示此错误: 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在“a.store\u name,a.id\u product FROMps\u selstock\u producta”附近 第3行 我的$this->\u选择变量包含: $this->_select = ' a.store_name, a.
ps\u selstock\u product
a”附近
第3行
我的$this->\u选择变量包含:
$this->_select = '
a.store_name,
a.id_product';
我知道查询应该是这样的,删除“,”:
SELECT SQL_CALC_FOUND_ROWS
a.store_name,
a.id_product FROM `ps_selstock_product` a
WHERE 1
ORDER BY a.`id_selstock_product` ASC LIMIT 0,50
但我不知道如何处理,因为查询是由prestashop生成的,我只定义了要显示的属性您尝试过吗
$this->\u select='a.store\u name,a.id\u product'代码>第一个问题
首先,您确定数据库中存在store_名称吗。默认情况下,Prestashop不提供名为store\u name
的变量。也许你的店铺已经定制好了,所以你必须调查一下这种可能性
我在代码中看到模块使用该代码获取存储名称:
shop.`name`
所以代码应该是这样的:
$this->_select = 'a.`id_product`, shop.`name` ';
第二个问题
请记住,您一直在覆盖查询,因此可以在代码后面放置一些内容。如果控制器添加了一些变量,则必须在查询末尾添加逗号,
。因此,在某些情况下,必须根据覆盖的控制器添加它
$this->_select = 'a.`id_product`, shop.`name` , ';
如果设置:
$this->table = 'selstock_product';
Prestashop将查找名为Id{tablename}
的键列,因此,您需要根据Prestashop sintax重命名PK字段,即:Id\u selstock\u product
问候
$this->table = 'selstock_product';