$this->User->find('list', array('fields' => array('id', '"0" as age'));
this function generates the following query
SELECT `User`.`id`, `User."0" as age` FROM `db`.`t_users` AS `User` WHERE 1 = 1
我不希望db
。t_users
充当'用户',而是将其设为原始查询,因为User."0" as age
不是有效选择。查询可能如下:
SELECT `id`, `"0" as age` FROM `db`.`t_users` WHERE 1 = 1
不使用自定义查询,如何在没有User
的情况下生成查询?
我正在使用cakephp 2.3.4
答案 0 :(得分:1)
您可以在用户模型上将年龄定义为虚拟字段: -
class User extends AppModel {
public $virtualFields = array(
'age' => '0'
);
}
然后您的查询将是: -
$this->User->find('list', array('fields' => array('id', 'age')));
答案 1 :(得分:0)
而不是使用"0" as age'
使用虚拟字段。这应该有用。