我一直在研究phalcon作为我正在运行的laravel项目的替代方案。它主要是一个REST api。我正试图弄清楚如何在模型的json响应中包含关系。
例如,如果我有2个模型,请按以下方式设置:
class Clients extends \Phalcon\Mvc\Model
{
public function initialize() {
$this->hasMany('clientid','Contacts','clientid')
}
}
class Contacts extends \Phalcon\Mvc\Model {
public function initialize() {
$this->belongsTo('clientid','Clients','clientid')
}
}
我做了一个:
$clients = Client::find();
return json_encode($clients->toArray());
如何让它自动包含联系人?
我需要输出这样的东西:
[{
clientid:'1111',
contacts:[
{
contactid:111
}
]
}];
非常感谢!
答案 0 :(得分:0)
来自docs:
通过访问与关系同名的属性,将检索其所有相关记录。
基于以上所述,您应该能够通过如下定义的关系访问联系人:
$clients = Client::find();
$clientContacts = $clients->contacts;
// do something with the contacts
编辑:
尝试遍历您的$ contacts,然后获取相关记录:
foreach ($clients as $client) {
// Do something with the contacts...
$contacts[$client->id] = $client->contacts;
}