我处于一种情况下,我正在使用具有关联的实体作为函数参数,例如doSomething($entity->setting->isactive)
。调用doSomething()
时,我不确定$entity
是否已加载其设置关联。
现在,我想知道是否可以在$entity
中使用mutator来加载它,例如:
protected function _getSetting($value)
{
if (!$this->setting) {
$this->setting = $this->getTableLocator()->get('Settings')->get($this->setting_id);
}
return $value;
}
它正在运行,但是会产生E_NOTICE
未定义的属性以尝试访问$this->setting
。否则,我可以在将$ entity传递给我的doSomething()之前进行检查,但是我认为使用mutator可能是一个不错的解决方案,但是由于它给我带来了一个提示,我不太确定是否是这种情况。感谢您对此的想法:)