从带有列表的cakephp find方法中检索小写数据
Retrieving data as lowercase from cakephp find method with list
我想使用 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' =>
)
我知道我可以用一个循环来完成这项工作。但是我不想在这里使用循环。
有没有没有循环的解决方案?
您需要在模型中设置一个$virtualFields 变量。设置如下:
public $virtualFields = array(
'title' => "LOWER(Area.name)"
);
并且在控制器中的查找查询中。请更改
$this->Area->find("all", array("fields" => array("Area.id", "Area.title")));
它会起作用..
我想使用 find
方法
通常我使用此代码检索数据
$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' =>
)
我知道我可以用一个循环来完成这项工作。但是我不想在这里使用循环。
有没有没有循环的解决方案?
您需要在模型中设置一个$virtualFields 变量。设置如下:
public $virtualFields = array(
'title' => "LOWER(Area.name)"
);
并且在控制器中的查找查询中。请更改
$this->Area->find("all", array("fields" => array("Area.id", "Area.title")));
它会起作用..