PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: В тестах не работает связь oneToMany
hdg700
Отправлено: 19 Июля, 2011 - 06:21:16
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Июль 2011  


Помог: 0 раз(а)




Всем привет.

Имеется проект на Zend_Framework + Doctrine2.
База на mysql.
Для ускорения unit-тестов используется sqlite in-memory база.

К примеру, есть две модельки "Вопрос" и "Ответ".

CODE (php):
скопировать код в буфер обмена
  1.  
  2. /**
  3.  * Poll_Model_Question
  4.  *
  5.  * @Table(name="poll__model__question")
  6.  * @Entity(repositoryClass="Poll_Model_QuestionTable")
  7.  */
  8. class Poll_Model_Question
  9. {
  10.     ...
  11.  
  12.     /**
  13.      * @OneToMany(targetEntity="Poll_Model_Answer", mappedBy="question")
  14.      */
  15.     private $answers;
  16. }
  17.  


CODE (php):
скопировать код в буфер обмена
  1.  
  2. /**
  3.  * Poll_Model_Answer
  4.  *
  5.  * @Table(name="poll__model__answer")
  6.  * @Entity(repositoryClass="Poll_Model_AnswerTable")
  7.  */
  8. class Poll_Model_Answer
  9. {
  10.     ...
  11.     /**
  12.      * @ManyToOne(targetEntity="Poll_Model_Question", inversedBy="answers")
  13.      * @JoinColumns({
  14.      *   @JoinColumn(name="question_id", referencedColumnName="id", onDelete="CASCADE")
  15.      * })
  16.      */
  17.     private $question;
  18.  
  19. }
  20.  


В фикстурах есть вопрос и десять вариантов ответов к нему.
Делаем:
CODE (php):
скопировать код в буфер обмена
  1.  
  2. $answers = $question->answers;
  3. var_dump($answers);
  4.  


На сайте выводится коллекция из десяти ответов, а вот в тестах возвращается массив, содержащий только первый добавленный ответ, хотя если сделать прямой запрос в таблицу ответов, то доступны все десять и все ссылаются на этот вопрос.
Прошу натолкнуть на мысль.. Либо это баг второй доктрины при работе с sqlite in-memory, либо что-то с самой sqlite, либо еще что-то... Улыбка

UPD Прогнал тесты на mysql. Та же ошибка. Значит, проблема не в sqlite.

(Отредактировано автором: 19 Июля, 2011 - 09:12:38)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB