0

在 CakePHP 中,我准备了一个 Json 网络服务。这是我得到的摘录:

{
   Offices:[
      {
         Office:{
            id:"1",
            Company:{
               id:"1",
               name:"ABC Software"
            }
         },
         Person:{
            mail:"sASa@sAAsS.it",
            OfficePersonTask:[
               {
                  office_id:"1",
                  person_id:"1",
                  task_id:"1"
               }
            ]
         }
      }
   ]
} 

我想要的是只显示相关数据库中的一些字段的可能性,所以查询数据库的方法有$options['fields']正确的设置,所以如果我想显示一个人的邮件,我写:

$options['fields'] = array("Person.mail");

但是如果我想显示更深一层的公司ID或公司名称怎么办?

4

1 回答 1

0

如果模型之间存在关联,您应该能够做到这一点:

$options['fields'] = array('Person.mail','Company.id','Company.name');

实际上,“公司更深一层”并不重要。这在 SELECT 子句中是正确的,例如:(请注意,SQL 入门是一个示例)

SELECT Person.mail, Company.id, Company.name 
FROM Persons AS p
LEFT JOIN Company AS c ON p.company_id = c.id
于 2012-08-01T05:42:59.963 回答