Использование EntityRepository :: findBy () с отношениями «многие ко многим» приведет к появлению E_NOTICE в Doctrine.

Для проекта Symfony2 мне нужно было создать связь между постом в блоге и так называемыми платформами. Платформа определяет определенный фильтр на основе домена, который вы используете для просмотра сайта. Например: если вы присоединяетесь к сайту по адресу url first-example.com, сайт будет предоставлять только сообщения в блоге, которые связаны с этой конкретной платформой.

Для этого я создал две сущности Post и Platform. После этого я сопоставил их с отношениями «многие ко многим». Я'я пытаюсь получить данные через это отношение «многие ко многим» из встроенной функцииfindBy() в доктринах ,EntityRepository

// every one of these methods will throw the same error
$posts = $postRepo->findBy(array('platforms' => array($platform)));
$posts = $postRepo->findByPlatforms($platform);
$posts = $postRepo->findByPlatforms(array($platform));

куда$postRepo правильный репозиторий дляPost сущность и$platform существующийPlatform объект.

В любом случае: я получаю следующую ошибку:

ErrorException: Notice: Undefined index: joinColumns in [...]/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php line 1495

[...]/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php:1495
[...]/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php:1452
[...]/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php:1525
[...]/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php:1018
[...]/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php:842
[...]/vendor/doctrine/orm/lib/Doctrine/ORM/EntityRepository.php:157
[...]/src/Foobar/BlogBundle/Tests/ORM/PostTest.php:102

Можно ли даже таким способом извлечь связанные объекты в отношениях «многие ко многим», или я вынужден сам написать эти функции? Странная вещь: доктрина не выдаст никакой ошибки вроде: «Это'не возможно "., но внутреннийE_NOTICE, Вот почему я думаю, что это возможно, но яЯ упускаю некоторые моменты здесь.

Разобравшись до интересных частей, две сущности выглядят так.

Ответы на вопрос(3)

Ваш ответ на вопрос