Orm Phalcon在hasMany关系上发生致命错误

Orm Phalcon在hasMany关系上发生致命错误,orm,model,entity-relationship,phalcon,has-many,Orm,Model,Entity Relationship,Phalcon,Has Many,我的ERD如下: 关系如下:, 实体到主机是一对一的 主机到门户是一对多一主机到多门户 当我试图根据提供的实体id数组检索门户列表时,出现了一个致命错误 致命错误:调用未定义的方法 Phalcon\Mvc\Model\Resultset\Simple::getHost 这是我检索门户的控制器代码 $hostObj = Host::find(['entity_id IN ({ids:array})', 'bind' => array('ids' => $ent

我的ERD如下:

关系如下:, 实体到主机是一对一的 主机到门户是一对多一主机到多门户

当我试图根据提供的实体id数组检索门户列表时,出现了一个致命错误

致命错误:调用未定义的方法 Phalcon\Mvc\Model\Resultset\Simple::getHost

这是我检索门户的控制器代码

$hostObj = Host::find(['entity_id IN ({ids:array})',
             'bind' => array('ids' => $entity_id)]);

if($hostObj)
{
    $portals = $hostObj->Portal;
}

基本上,目标是根据提供的实体id数组检索门户列表。但我真的想知道,导致致命错误的模型关系有什么问题。

Find方法返回Resultset,您需要使用findFirst或从Resultsetlike数组中选择行,如样式$portals[0],或$portals->getFirst或$portals->offsetGet'0'

它不是findFirst,只获取找到的第一行吗?它不起作用,因为我需要基于实体的门户列表。firstFirst将只获取找到的第一行。它不会获取找到的所有行。那么它就不会这样工作$hostObj是resultset。您需要从中选择行。您需要使用查询生成器来完成最可能需要的操作。尽管如此,你的亲戚还是错了。检查文档。第一个参数是当前模型中的字段,第二个参数是相关类,第三个参数是相关模型中的字段。对许多人来说,这是一样的。我在主机中没有看到门户id字段。您在哪里使用getHost?
$hostObj = Host::find(['entity_id IN ({ids:array})',
             'bind' => array('ids' => $entity_id)]);

if($hostObj)
{
    $portals = $hostObj->Portal;
}