我有一个模型类 User,它有两个字段:
$job_id -> 在 JobTable 中保持 ID 关闭作业 $job -> 需要使用 JobTable 中的正确对象延迟加载(在 getJob() 上)
我的问题是我无法通过我的类获取 JobTable 的实例,因为我无法访问 serviceLocator 实例(始终为 Null)。我的班级如下:
use Zend\ServiceManager\ServiceLocatorAwareInterface;
use Zend\ServiceManager\ServiceLocatorInterface;
class User implements ServiceLocatorAwareInterface {
protected $serviceLocator;
public function setServiceLocator(ServiceLocatorInterface $serviceLocator) {
$this->serviceLocator = $serviceLocator;
}
public function getServiceLocator() {
return $this->serviceLocator;
}
protected $role;
protected $role_id;
public function getRole()
{
$roleTable = $this->serviceLocator->get('Core\Model\RoleTable'); // serviceLocator is always null
}
}
有没有更好的方法可以在不使用另一个 ORM(Doctrine 等)的情况下做到这一点。我的意图是在每个模型类中实现我自己的延迟加载。