在CakePHP中,我准备了一个Json Web服务。这是我得到的摘录:
{
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或公司名称,而这又是更深一层呢?
如果模型之间存在关联,您应该能够使用:
$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