我正在尝试在prestashop中的bo order表中添加state字段。在我的AdminOrdersController.php文件中,我使用此代码获取地址字段:
$this->_select = '
addr.address1 AS `address`,
$this->_join = '
LEFT JOIN `'._DB_PREFIX_.'address` addr ON (a.`id_address_delivery` = addr.`id_address`)
在我的$ this-> fields_list数组中我有:
'address' => array(
'title' => $this->l('Address')
),
这是为地址工作......我正在尝试做一些熟悉的事情,但没有很好的结果。当我想要获得状态的名称时,我只得到id_state。
我用过:
$this->_select = '
go.id_state AS `city`,
$this->_join = '
LEFT JOIN `'._DB_PREFIX_.'address` go ON (a.`id_address_delivery` = go.`id_address`)
并在数组中:
'city' => array(
'title' => $this->l('City')
),
我知道它的mysql语法错误。我怎么写的正确? 感谢
答案 0 :(得分:1)
在'
$this->_join = '
请记住,此sql只会为您提供id_state
而非州名
答案 1 :(得分:-1)
我正在做同样的事情,但我在PS 1.6.1.4
工作了。
在AdminOrdersController.php
中(覆盖它更好):
$this->_select = 'css.name AS `state`,
然后再进一步说明:
$this->_join = '
LEFT JOIN `'._DB_PREFIX_.'address` ca ON (a.`id_address_delivery` = ca.`id_address`)
LEFT JOIN `'._DB_PREFIX_.'state` css ON (ca.`id_state` = css.`id_state`)
最后称之为:
'state' => array(
'title' => $this->l('State')
),
如果这没有意义,请查看AdminOrdersController.php
文件并进行包含此操作的覆盖。您可能还想查看this tutorial。