Одиночный идентификатор не разрешен для составного первичного ключа в объекте с использованием knp paginator

У меня вопрос по knp paginator. Я использую Симфони 2.8. Я создал таблицу с составным первичным ключом и соответствующей страницей списка, используя knp paginator. Я получаю исключение, когда пытаюсь показать. «Одиночный идентификатор не разрешен для составного первичного ключа в объекте». Я попытался проверить исходные файлы knp paginator и доктрины. Поэтому я нашел обходной путь.

1) Установите для параметра knp «различный» значение false;

2) Установите следующие подсказки для запроса.

  • установите «knp_paginator.count» на количество строк результата запроса.
  • установите для knp_paginator.fetch_join_collection значение false — это необходимо.

Это правильный путь? Возможны ли проблемы?


person Miwanoushi    schedule 17.09.2016    source источник


Ответы (1)


Проблема, с которой вы можете столкнуться, описана здесь в этой связанной проблеме на GitHUB:

Единственная «проблема» заключается в том, что ваш запрос Paginator требует присоединения выборки к коллекции. Обходной путь для этого заключается в использовании обычного соединения, как указано выше. Недостатком является то, что ваши объекты с разбивкой на страницы не будут гидратироваться вместе с коллекцией. Коллекция должна быть лениво загружена при вызове.

person Wilt    schedule 10.01.2017
comment
Спасибо за вашу помощь. - person Miwanoushi; 07.02.2017
comment
Я понимаю, что количество сущностей отличается от количества соответствующих строк, если используется объединение выборки. - person Miwanoushi; 07.02.2017
comment
@Miwanoushi Да, действительно, это может привести к неправильному подсчету страниц. - person Wilt; 07.02.2017