Я использую Silex для простого сайта.
Я использую Doctrine DBAL и этот проект
https://github.com/dflydev/dflydev-doctrine-orm-service-provider
в качестве ORM и Entity Manager.
Я знаю, как получить доступ к этому менеджеру из контроллера, но мне интересно, как это сделать из класса Model.
Например, у нас есть
class UserModel {
public function getPhones() {
????????
}
}
Я не знаю, как получить доступ к EntityManager из класса Model, чтобы найти пользовательские телефоны.
Спасибо за совет
Вы не должны.
Вместо этого вы должны настроить свои объекты так, чтобы ваш пользователь имел отношение к своим телефонам, что-то вроде этого:
/** @Entity */
class User
{
/**
* @OneToMany(targetEntity="Phone")
*/
private $phones;
// ...
public function __construct() {
$this->phones = new ArrayCollection();
}
}
и необходимые добытчики / сеттеры. После этого вам не понадобится менеджер сущностей в вашей сущности.
Других решений пока нет …