@yuras666

Как лучше организовать генерацию id для entity при работе с doctrine?

Классическая проблема при работе с mysql автоинкремент:
$user = new User();
$em->persist($user);
$user->getId(); //вернет null, так как объект еще не сохранен в БД

//и где-то при завершении скрипта
$em->flush();

Было бы неплохо знать id до вызова flush().
Смотрел в сторону Doctrine strategy, напримере UUID. (Посути генерируем id на php через uniqid())
Но мне видятся проблемы при таком подходе. Кто как решил такую проблему? Выбор mysql тут не принципиален. Можно использовать Postgre например..
  • Вопрос задан
  • 427 просмотров
Решения вопроса 1
@cold147
debugger driven development
Если подойдет постгрес то этого достаточно
@GeneratedValue(strategy="AUTO")

п.с. AUTO для постгреса использует последовательности(sequences)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
27cm
@27cm
TODO: Написать статус
$user = new User();
$em->persist($user);
$em->flush($user);
$user->getId();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы