Ответов: 0 Просмотров: 838
|
Всем привет.
Имеется проект на Zend_Framework + Doctrine2.
База на mysql.
Для ускорения unit-тестов используется sqlite in-memory база.
К примеру, есть две модельки "Вопрос" и "Ответ".
CODE ( php):
скопировать код в буфер обмена
/** * Poll_Model_Question * * @Table(name="poll__model__question") * @Entity(repositoryClass="Poll_Model_QuestionTable") */ class Poll_Model_Question { ... /** * @OneToMany(targetEntity="Poll_Model_Answer", mappedBy="question") */ private $answers; }
CODE ( php):
скопировать код в буфер обмена
/** * Poll_Model_Answer * * @Table(name="poll__model__answer") * @Entity(repositoryClass="Poll_Model_AnswerTable") */ class Poll_Model_Answer { ... /** * @ManyToOne(targetEntity="Poll_Model_Question", inversedBy="answers") * @JoinColumns({ * @JoinColumn(name="question_id", referencedColumnName="id", onDelete="CASCADE") * }) */ private $question; }
В фикстурах есть вопрос и десять вариантов ответов к нему.
Делаем:
На сайте выводится коллекция из десяти ответов, а вот в тестах возвращается массив, содержащий только первый добавленный ответ, хотя если сделать прямой запрос в таблицу ответов, то доступны все десять и все ссылаются на этот вопрос.
Прошу натолкнуть на мысль.. Либо это баг второй доктрины при работе с sqlite in-memory, либо что-то с самой sqlite, либо еще что-то...
UPD Прогнал тесты на mysql. Та же ошибка. Значит, проблема не в sqlite. |