Добрый день.
Самописный фреймворк. Используется Doctrine, с которым пока знаком поверхностно. Репозитории для таблиц ( например автоматически, как в Symfony ) отдельно не определяются. Для проведения опросов имеется два класса:
namespace Entities;
use \RN\registry,
Doctrine\Common\Collections\ArrayCollection;
/**
* @Table(name="rn_interview_tickets")
*/
class interview extends base_entity {
/** @Id @Column(type="integer") @GeneratedValue()*/
protected $id = null;
...
/** типы опросов
* @OneToOne(targetEntity="Entities\interviewTypes", inversedBy="interview")
* @JoinColumn(name="id_ticket_type", referencedColumnName="id")
*/
private $types;
...
и
namespace Entities;
/**
* @Entity
* @Table(name="rn_interview_ticket_types")
*/
class interviewTypes extends base_entity {
/** @Id @Column(type="integer") @GeneratedValue()*/
protected $id = null;
...
/**
* @OneToOne(targetEntity="Entities\interview", mappedBy="types")
*/
private $interview;
public function getTypesList() {
...
На странице редактирования опроса нужно вывести в SELECT-е все записи из таблицы ( все типы опросов ). Хотел это сделать в методе getTypesList класса interviewTypes, но не получается. getDoctrine возвращает 0 в обоих классах, поэтому до нужного репозитория достучаться не могу. Или нужно получить EntityManager? Подскажите ч.я.д.н.т и как вообще идеологически верно подобное получить. Спасибо.
P.S. Нашел решение, сделал в коде вне классов Entities так:
...
$o = $this->getObject(); // объект сущности опроса Entities/interview.php
$em = Registry::getInstance() -> getEntityManager();
$types = $em -> getRepository( get_class( $o -> getTypes() ) ) -> findAll();
...
Но вопрос остался.