Я пишу следующий код для извлечения данных из базы данных
function getnotificationAction() { $session = $this->getRequest()->getSession(); $userId = $session->get('userid'); $entitymanager = $this->getDoctrine()->getEntityManager(); $notification = $entitymanager->getRepository('IGCNotificationBundle:Notifications'); $userNotification = $entitymanager->getRepository('IGCNotificationBundle:Usernotifications'); $query = $entitymanager->createQuery("SELECT n.notificationid, n.title,n.notificationmessage, u.creationdate, u.notificationid, u.messagestatus From IGCNotificationBundle:Notifications AS n JOIN IGCNotificationBundle:Usernotifications AS u ON u.notificationid = n.notificationid WHERE u.userId = :userId ORDER BY n.creationdate DESC")->setParameter('userId', userId); $notifications = $query->getResult(); return $this->render('IGCNotificationBundle:Default:notification.html.twig', array('notifications' => $notifications)); } }
Но это givin
[Syntax Error] line 0, col 203: Error: Expected Doctrine\ORM\Query\Lexer::T_WITH, got 'ON' 500 Internal Server Error - QueryException 1 linked Exception: QueryException »
Нужна ваша помощь Спасибо заранее
[Syntax Error] line 0, col 203: Error: Expected Doctrine\ORM\Query\Lexer::T_WITH, got 'ON' 500 Internal Server Error - QueryException 1 linked Exception: QueryException »
Я думаю, вы должны заменить свое ключевое слово «ON» на «WITH».
выписка из документа:
Соединения между произвольными сущностями теперь возможны в DQL, используя синтаксис
FROM Foo f JOIN Bar b WITH f.id = b.id
Пожалуйста, используйте приведенный ниже код для своей работы
function getnotificationAction() { $session = $this->getRequest()->getSession(); $userId = $session->get('userid'); $entitymanager = $this->getDoctrine()->getEntityManager(); $notification = $entitymanager->getRepository('IGCNotificationBundle:Notifications'); $userNotification = $entitymanager->getRepository('IGCNotificationBundle:Usernotifications'); $query = $entitymanager->createQuery("SELECT n.notificationid, n.title,n.notificationmessage, u.creationdate, u.notificationid, u.messagestatus From IGCNotificationBundle:Notifications AS n JOIN IGCNotificationBundle:Usernotifications AS u WITH u.notificationid = n.notificationid WHERE u.userId = :userId ORDER BY n.creationdate DESC")->setParameter('userId', userId); $notifications = $query->getResult(); return $this->render('IGCNotificationBundle:Default:notification.html.twig', array('notifications' => $notifications)); }