有没有办法使用 Doctrine 2.x 从实例化模型内部加载数据库中的数据?
方法中的实现load()
:
$model = new Model();
$model->load($params);
$param
= array
with key => value 对,用于在 DB 中查找数据,例如:$param = array('id' => 1)
find()
方法 fromDoctrine\ORM\EntityManager
不允许传递实例,我找不到其他任何东西。
有没有办法使用 Doctrine 2.x 从实例化模型内部加载数据库中的数据?
方法中的实现load()
:
$model = new Model();
$model->load($params);
$param
= array
with key => value 对,用于在 DB 中查找数据,例如:$param = array('id' => 1)
find()
方法 fromDoctrine\ORM\EntityManager
不允许传递实例,我找不到其他任何东西。
不幸的是,无法在实例化对象中加载数据。
解决方法是:
public function load($id = 0)
{
$resultObject = $this->_getEntityManager()->find(get_class($this), $id);
if ($resultObject) {
foreach (get_object_vars($resultObject) as $key => $val)
{
$this->$key = $val;
}
unset($resultObject);
}
return $this;
}