从 Silex 中的模型 Class 访问实体管理器
Accessing Entity Manager from Model Class in Silex
我将 Silex 用于简单网站。
我使用 Doctrine DBAL 和那个项目
https://github.com/dflydev/dflydev-doctrine-orm-service-provider
作为 ORM 和实体管理器。
我知道如何从控制器访问该管理器,但我想知道如何从模型 class 访问该管理器。
例如我们有
class UserModel {
public function getPhones() {
????????
}
}
我不知道如何从模型 class 访问 EntityManager 来查找用户电话。
谢谢指教
你不应该。
相反,您应该设置您的实体,以便您的用户与其手机建立关联,如下所示:
/** @Entity */
class User
{
/**
* @OneToMany(targetEntity="Phone")
*/
private $phones;
// ...
public function __construct() {
$this->phones = new ArrayCollection();
}
}
和必要的 getters/setters。在此之后,您的实体中将不需要实体管理器。
我将 Silex 用于简单网站。 我使用 Doctrine DBAL 和那个项目 https://github.com/dflydev/dflydev-doctrine-orm-service-provider 作为 ORM 和实体管理器。 我知道如何从控制器访问该管理器,但我想知道如何从模型 class 访问该管理器。 例如我们有
class UserModel {
public function getPhones() {
????????
}
}
我不知道如何从模型 class 访问 EntityManager 来查找用户电话。
谢谢指教
你不应该。
相反,您应该设置您的实体,以便您的用户与其手机建立关联,如下所示:
/** @Entity */
class User
{
/**
* @OneToMany(targetEntity="Phone")
*/
private $phones;
// ...
public function __construct() {
$this->phones = new ArrayCollection();
}
}
和必要的 getters/setters。在此之后,您的实体中将不需要实体管理器。