У меня есть страница, называемая лобби, в которой пользователь может принять запрос друга. Прием запроса на друга приводит к этому действию:Symfony2 - app.user не синхронизирован с базой данных
public function acceptFriendRequestAction($requestId)
{
$user = $this->getUser();
// Here $user is modified and changes are saved in database
return $this->redirect('ACAppBundle:Lobby:index');
}
Шаблон визуализируется, с помощью app.user, чтобы показать друзьям и запросы. Однако изменения в базе данных не учитываются. Пользовательский объект такой же, как и до acceptFriendRequestAction. Когда страница обновляется, app.user синхронизируется с базой данных.
Зачем мне нужно обновить страницу, чтобы увидеть изменения в базе данных? Как установить app.user в качестве обновленного пользователя?
Когда я использую forward вместо перенаправления, он работает, но я не хочу использовать это, потому что forward не изменяет URL.
Я также заметил, что иногда вместо пользователя используется класс Proxies /.../ User. Может ли это иметь какое-то отношение к моей проблеме? Спасибо за помощь, я застрял на этом в течение нескольких дней ...
Вы пробовали промывку после удаления, но перед следующим упорством? – qooplmao
Спасибо за ваш ответ! Я пробовал это, однако, запрос удаляется после удаления. Я проверил это, извлекая пользователя из базы данных, используя его id ('$ this-> getUser-> getId()) перед перенаправлением. Запрос удаляется. Однако в действии индекса это не так. – jreid
Можете ли вы показать отношения между двумя моделями (get/set из запроса и add/remove/get от пользователя)? – qooplmao