Symfony 2 обновляет связанную таблицу по идентификатору пользователя - PullRequest
0 голосов
/ 18 августа 2011

С утра до мозга костей.Возиться с symfony2, и я не могу понять, как обновить таблицу по идентификатору пользователя.Например: у меня есть таблица профиля с идентификатором пользователя, который создается при регистрации, поэтому у меня есть пустая таблица, за исключением идентификатора пользователя.Я хочу обновить строку таблицы профиля, которая принадлежит зарегистрированному пользователю.У меня есть отношение один к одному и метод getUser.??Я могу получить идентификатор текущего вошедшего в систему пользователя, просто не знаю, обновить ли соответствующую таблицу.

1 Ответ

0 голосов
/ 19 августа 2011

Учитывая вашу информацию, я предполагаю, что Пользователь является владельцем. Я не знаю, настроил ли ты профиль на сохранение пользователя ...

if (is_null($user->getProfile()) {
  $profile = new \Foo\BarBundle\Entity\Profile();
  $em->persist($profile);
  $user->setProfile($profile);
} else $profile = $user->getProfile();

$profile->setBarBaz('barbaz');
$profile->setFooBaz('foobaz');
$em->flush();

Это хорошо? Или DQL (я так не делал, могут быть синтаксические ошибки):

$qb = $em->createQueryBuilder();
$result = $qb->update('Foo\BarBundle\Entity\Profile', 'p')
  ->set('barBaz', 'barbaz')
  ->set('fooBaz', 'foobaz')
  ->where('p.user_id = ?1')->setParameter(1, $user->getId())
  ->getQuery()
  ->getResult();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...