CakePHP:重命名字段名称而不更改层次结构

时间:2012-08-02 22:38:21

标签: cakephp-2.0

我在CakePHP模型中写了这个函数:

public function getPeopleByName($name){
        $this->unbindModel(array('hasMany' => array('OfficePersonTask')));

        $options['fields'] = array("Person.id", "CONCAT(Person.first_name, ' ', Person.last_name) AS full_name");

        return $this->find('all', $options);   
}

这给了我以下的json:

{
   People:[
      {
         0:{
            full_name:"Groucho Marx"
         },
         Person:{
            id:"1"
         }
      },
      {
         0:{
            full_name:"Giovanni Ferretti"
         },
         Person:{
            id:"2"
         }
      }
   ]
}

我认为* full_name *将成为 Person 组的一部分(实际上是在一个名为0的组中,仅此一项)。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

在模型中使用虚拟字段而不是查找中的MySQL函数。有一些方法可以在您尝试查询数据时使用,但您必须考虑在索引数组中返回的数据,而不是普通的关联数据。