cakePHP3使用实体突变体动态加载关联

时间:2018-07-27 17:58:19

标签: entity cakephp-3.0 mutators

我处于一种情况下,我正在使用具有关联的实体作为函数参数,例如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可能是一个不错的解决方案,但是由于它给我带来了一个提示,我不太确定是否是这种情况。感谢您对此的想法:)

0 个答案:

没有答案