使用 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;
}

我完全没有测试过。