Cake Php Read函数将结果检索为简单数组
$result = $this->Model->read('id, name, title', $id);
结果为
Array
(
[Model] => Array
(
[id] => 1
[name] => test
[title] => New Head title
)
)
有任何方法可以直接从查询中检索结果数组,如下所示
Array
(
[id] => 1
[name] => test
[title] => New Head title
)
不使用变量的任何临时存储。
答案 0 :(得分:2)
只需通过Set::extract调用运行结果,如下所示:
$result = $this->Model->read('id, name, title', $id);
$result = Set::extract('/Model', $result);
Set是一个非常强大的类,我建议you read on it。 :) 欢呼声。
答案 1 :(得分:0)
除了CakePHP纯度(同意其他海报)
找到('list')你在寻找什么?
$result = $this->Model->find('list', array('fields' => array('id', 'name', 'title'), 'conditions' => array('id' => $id), 'recursive' => 0 ));
答案 2 :(得分:0)
除非您要破解Cake核心,否则Cake将始终使用额外的模型键在内部返回结果。所以"不使用任何临时存储变量" 几乎是不可能的,如果你的意思是"速度优化" (在引号中,因为它几乎没有任何区别)。
您可以使用以下内容使其正常工作:
$result = current($this->Model->read('id, name, title', $id));
您可以覆盖模型的read
方法,因此它始终在内部执行此操作(不推荐,有一天会让您咬人)。您可以在AppModel
中执行此操作以全局执行此操作。