Cakephp``转义我的计算字段名称

时间:2011-11-15 15:53:12

标签: sql cakephp

这曾经有用:

$this->Model->find('all', array(
  'fields' => 'Model.field/100 as name')

但我现在得到一个SQL错误,因为这些字段是用字段引号括起来的:

SELECT `Model.field/100 as name` FROM models AS Model ..

应该

SELECT Model.field/100 as name FROM models AS Model ..

我最近安装了较新版本的Cakephp 1.3.6到1.3.13,但手册中没有提到任何更改。

这是一个非常讨厌和不必要的问题,有没有人有任何想法?

2 个答案:

答案 0 :(得分:0)

你可能想要使用virtualFields。他们可以包含这样的表达

答案 1 :(得分:0)

好的,找到了线索,但仍然不知道原因:

Cakephp希望表达式在括号中,所以

    'fields' => array('Model.field/100 as name')  

不起作用,但

    'fields' => array('(Model.field/100) as name')  

确实