从cakephp中以小写形式检索数据查找带有列表的方法

时间:2015-03-24 11:10:26

标签: php cakephp cakephp-2.0

我希望使用find方法

从cakephp中将数据检索为小写列表

通常我使用此代码检索数据

$this->model->find('list', array('fields' => array('Area.id', 'Area.name'), 'recursive' => -1));

我的输出是

array(
   '1' => 'Dhaka'
   '2' => 'New Yourk'
   '3' => 'Japan'
)

但我想得到像这样的输出

array(
   '1' => 'dhaka'
   '2' => 'new yourk'
   '3' => 'japan'
)

获取此输出我尝试此代码

$this->model->find('list', array('fields' => array('Area.id', 'LOWER(Area.name)'), 'recursive' => -1));

但它给了我一个数组。

array(
   '1' => 
   '2' => 
   '3' => 
)

我知道我可以通过循环完成这项工作。但是我不想在这里使用循环。

没有循环的任何解决方案?

1 个答案:

答案 0 :(得分:3)

您需要在Model中设置$ virtualFields变量。设置如下:

public $virtualFields = array(
        'title' => "LOWER(Area.name)"
    );

并在控制器中查找查询。改变

$this->Area->find("all", array("fields" => array("Area.id", "Area.title")));

它会起作用..