Cakephp 2.1 选择深度级别为2时显示的字段
在CakePHP中,我准备了一个Json Web服务。这是我得到的一个摘录:Cakephp 2.1 选择深度级别为2时显示的字段,cakephp-2.1,Cakephp 2.1,在CakePHP中,我准备了一个Json Web服务。这是我得到的一个摘录: { Offices:[ { Office:{ id:"1", Company:{ id:"1", name:"ABC Software" } }, Person:{ mail:"sASa@sAA
{
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子句中是正确的,比如:(注意,SQLPrimer就是一个例子)
SELECT Person.mail, Company.id, Company.name
FROM Persons AS p
LEFT JOIN Company AS c ON p.company_id = c.id