从Silex中的模型类访问实体管理器

时间:2017-08-02 18:54:25

标签: php doctrine-orm silex entitymanager

我使用Silex作为简单网站。 我使用Doctrine DBAL和那个项目 https://github.com/dflydev/dflydev-doctrine-orm-service-provider 作为ORM和实体经理。 我知道如何从控制器访问该管理器,但我想知道如何从Model类中做到这一点。 例如,我们有

class UserModel {

public function getPhones() {

????????

}

}

我不知道如何从Model类访问EntityManager来查找用户手机。

感谢您的建议

1 个答案:

答案 0 :(得分:0)

你不应该。

相反,您应该设置实体,以便您的用户与其手机有关系,如下所示:

/** @Entity */
class User
{
    /**
     * @OneToMany(targetEntity="Phone")
     */
    private $phones;
    // ...

    public function __construct() {
        $this->phones = new ArrayCollection();
    }
}

以及必要的getter / setters。在此之后,您将不需要实体中的实体管理器。