【发布时间】:2016-10-12 14:59:39
【问题描述】:
我在下面有这个 ERD:
关系如下, 托管实体是一对一的 主机到门户是一对多(一台主机到多门户)
class Entity extends Model
{
public function initialize()
{
$this->hasOne(
"entity_id",
"Host",
"entity_id"
);
}
}
class Host extends Model
{
public function initialize()
{
$this->belongsTo(
"entity_id",
"Host",
"entity_id"
);
$this->hasMany(
"host_id"
"Portal",
"host_id"
);
}
}
class Portal extends Model
{
public function initialize()
{
$this->belongsTo(
"portal_id",
"Host,
"portal_id"
);
}
}
当我尝试根据提供的实体 id 数组检索 Portal 列表时,出现致命错误。
致命错误:调用未定义的方法 Phalcon\Mvc\Model\Resultset\Simple::getHost()
这是我检索门户的控制器代码
$hostObj = Host::find(['entity_id IN ({ids:array})',
'bind' => array('ids' => $entity_id)]);
if($hostObj)
{
$portals = $hostObj->Portal;
}
基本上,目标是根据提供的 entity_id 数组检索 Portal 列表。但我真的很想知道,导致致命错误的模型关系有什么问题。
【问题讨论】:
-
你在哪里使用
getHost()?
标签: orm model entity-relationship phalcon has-many