Я новичок в разработке.
Я хочу использовать этот скрипт: https://github.com/sebtouze/LoupGarou. Я хорошо выполнил шаги, но получаю сообщение об ошибке:
Doctrine\ORM\ORMException: The identifier id is missing for a query of AppBundle\Entity\User at n/a in C:\UwAmp\www\vendor\doctrine\orm\lib\Doctrine\ORM\ORMException.php line 294
at Doctrine\ORM\ORMException::missingIdentifierField('AppBundle\Entity\User', 'id') in C:\UwAmp\www\vendor\doctrine\orm\lib\Doctrine\ORM\EntityManager.php line 403
at Doctrine\ORM\EntityManager->find('AppBundle\Entity\User', array('id' => null), null, null) in C:\UwAmp\www\vendor\doctrine\orm\lib\Doctrine\ORM\EntityRepository.php line 154
at Doctrine\ORM\EntityRepository->find(null) in C:\UwAmp\www\src\AppBundle\Controller\DefaultController.php line 189
at AppBundle\Controller\DefaultController->indexAction('public') in C:\UwAmp\www\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\HttpKernel.php line 135
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), '1') in C:\UwAmp\www\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\HttpKernel.php line 57
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), '1', true) in C:\UwAmp\www\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel.php line 67
at Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->handle(object(Request), '1', true) in C:\UwAmp\www\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Kernel.php line 183
at Symfony\Component\HttpKernel\Kernel->handle(object(Request)) in C:\UwAmp\www\web\app.php line 28
Не могли бы вы мне помочь ?
Заранее спасибо.




У тебя есть ответ в твоем посте
DefaultController.php line 189 вы передали нулевую переменную. Проверьте переменные, которые там передаются, особенно id. Я не могу сказать больше, потому что я не вижу отправленного вами кода, только ошибка.
Не понимаю, откуда взялась проблема, вот файл DefaultController.php: pastebin.com/48G0uFEX Спасибо!
Как уже упоминалось, ваша ошибка здесь (строка 189 DefaultController.php):
foreach($arraySynthesisMayorVotes as $vote)
{
$vote = $userRepository->find($vote['id']);
}
Вы проходите цикл foreach и снова и снова перезаписываете $ vote. Это также та же переменная, в которую вы передаете свой foreach.
Я думаю, что виноват этот блок кода. Я не мог понять этот блок кода. Я думаю тебе нужно поменять или убрать
$userRepository = $em->getRepository('AppBundle:User');
foreach($arraySynthesisMayorVotes as $vote)
{
$vote = $userRepository->find($vote['id']);
}
foreach($arraySynthesisVillageVotes as $vote)
{
$vote = $userRepository->find($vote['id']);
}
Если вы хотите подсчитать общее количество голосов, вы можете использовать count($arraySynthesisVillageVotes). Но это зависит от вашей бизнес-логики
Сущность не является массивом и не может быть запрошена как таковая. Это объект.
В строке (строк) 189 (и 193) вместо:
$vote = $userRepository->find($vote['id']);
пытаться:
$vote = $userRepository->find($vote->getId());
Вы должны проверить содержимое ваших переменных. Здесь переменная, которая должна содержать идентификатор, фактически равна нулю.