Я пытаюсь использовать расширение доктрины sortable
через расширение gedmo
. Я установил gedmo-пакет с композитором и следовал инструкциям по установке в symfony2. а>. Я использую yaml
-файлы в качестве картографической информации для доктрины.
Мой yaml-файл:
AppBundle\Entity\Picture:
type: entity
table: pictures
id:
id:
type: integer
generator: { strategy: AUTO }
fields:
[...]
type:
type: string
length: 20
position:
type: string
gedmo:
sortable:
groups: [type]
Поле position действительно имело тип int
, но я также пробовал string
, потому что это должно было вызвать ошибку yaml-драйвера сортируемого-расширения (InvalidMappingException
).
Но я всегда получаю ошибку Integrity constraint violation: 19 NOT NULL constraint failed: pictures.position
. Но во всех примерах сортируемых extension нет необходимости специально задавать значение для поля position или разрешать null в yaml-файле. Также я предполагаю, что InvalidMappingException
должно стоять перед NOT NULL Exception
.
Из-за этого я думаю, что расширение даже не используется. Конфиг-файлы, которые я использую:
Мой файл config.yml:
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
- { resource: doctrine_extensions.yml}
[...]
Мой файл doctrine_extensions.yml:
services:
# KernelRequest listener
gedmo.listener.sortable:
class: Gedmo\Sortable\SortableListener
tags:
- { name: doctrine.event_subscriber, connection: default }
calls:
- [ setAnnotationReader, [ "@annotation_reader" ] ]