|
|
|
Doctrine2 проблема с наследованием ManyToOne
|
|||
|---|---|---|---|
|
#18+
Есть классы Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. всё собирается вроде нормально, доктрина на структуру не ругается и вроде-бы по логам всё нормально создает, но в базе в таблице ассоциированной с "B" пропадает поле "user", все есть а этого нет (вернее нет поля "user_id" которое должно было быть создано), пересоздание БД ничего не дает, подозреваю что проблема в ManyToOne, т.к. остальные обычные Column. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2012, 00:38 |
|
||
|
Doctrine2 проблема с наследованием ManyToOne
|
|||
|---|---|---|---|
|
#18+
Проверил метаданные доктрины, самое интересное, там всё нормально - ничего не теряется. Видимо при генерации стейтментов создания теряется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2012, 19:46 |
|
||
|
Doctrine2 проблема с наследованием ManyToOne
|
|||
|---|---|---|---|
|
#18+
Докопался до сути проблемы косяк был в доктрине. Не знаю как в последних релизах может поправили... Проблема в генерации схемы из метаданных Doctrine\ORM\Tools\SchemaTool Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. В двух словах о сути проблемы: В данном случае при генераци схемы после обычных columns, идет добавление FK columns. При наследовании по типу INHERITANCE_TYPE_JOINED или INHERITANCE_TYPE_SINGLE_TABLE в потомках поля предков (в данном случае помеченные как $mapping['inherited']) следует пропускать, что верно, но почему-то разработчики доктрины тут забыли о INHERITANCE_TYPE_NONE и INHERITANCE_TYPE_TABLE_PER_CLASS (для которых эти поля всё таки нужно генерировать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2012, 21:45 |
|
||
|
Doctrine2 проблема с наследованием ManyToOne
|
|||
|---|---|---|---|
|
#18+
SergSW, Увы радость была не долгой, похоже доктрина любит только INHERITANCE_TYPE_JOINED или INHERITANCE_TYPE_SINGLE_TABLE, остальное всё через одно место!!! Парсер DQL не может правильные запросы для наследования INHERITANCE_TYPE_NONE и INHERITANCE_TYPE_TABLE_PER_CLASS делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2012, 07:57 |
|
||
|
Doctrine2 проблема с наследованием ManyToOne
|
|||
|---|---|---|---|
|
#18+
SergSW, Проблема в парсере для простых запросов решается просто. А вообще такое ощущение что авторы доктрины решили, что данная функциональность вообще не нужна и забили на неё... весь код парсера так и сквозит Код: php 1. Начинаю тихо ненавидеть доктрину. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2012, 08:33 |
|
||
|
Doctrine2 проблема с наследованием ManyToOne
|
|||
|---|---|---|---|
|
#18+
SergSWНачинаю тихо ненавидеть доктрину. я это прошел 3 года назад и поэтому и не использую этот УГ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2012, 19:47 |
|
||
|
|

start [/forum/topic.php?fid=23&fpage=129&tid=1464481]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 338ms |

| 0 / 0 |
