使用 cakePHP 2.X 从 find('all') 重命名模型名称
rename Model Name from find('all') with cakePHP 2.X
我有一个模型订单。
当我在 table 订单中执行 find('all')
时,cakephp return 数据如下:
array(
(int) 0 => array(
'Order' => array(
'id' => '10'
)
),
(int) 1 => array(
'Order' => array(
'id' => '11'
)
)
)
有什么方法可以将 'Order' 重命名为 'myTEST' 吗?
在您的 Order
模型中,您可以实现一个 afterFind
回调以将 [Order]
替换为 [myTEST]
。这样的东西可能对你有用:
public function afterFind($results, $primary = false) {
$new_results = array();
foreach ($results as $key => $val) {
foreach($val as $v){
$new_results[$key]['myTEST'] = $v;
}
}
return $new_results;
// OR you could also take this approach - Less coding and perhaps more efficient
// foreach ($results as $key => $val){
// $results[$key]['myTEST'] = $results[$key]['Order'];
// unset($results[$key]['Order']);
// }
// return $results;
}
我完全没有测试过。
我有一个模型订单。
当我在 table 订单中执行 find('all')
时,cakephp return 数据如下:
array(
(int) 0 => array(
'Order' => array(
'id' => '10'
)
),
(int) 1 => array(
'Order' => array(
'id' => '11'
)
)
)
有什么方法可以将 'Order' 重命名为 'myTEST' 吗?
在您的 Order
模型中,您可以实现一个 afterFind
回调以将 [Order]
替换为 [myTEST]
。这样的东西可能对你有用:
public function afterFind($results, $primary = false) {
$new_results = array();
foreach ($results as $key => $val) {
foreach($val as $v){
$new_results[$key]['myTEST'] = $v;
}
}
return $new_results;
// OR you could also take this approach - Less coding and perhaps more efficient
// foreach ($results as $key => $val){
// $results[$key]['myTEST'] = $results[$key]['Order'];
// unset($results[$key]['Order']);
// }
// return $results;
}
我完全没有测试过。