1
사용자 엔티티의 소유자로 기존 사용자를 팀 엔티티에 새 레코드를 만들려고 시도하지만 persist를 사용하면 레코드를 첨부하지 않고 새 사용자를 만듭니다.Symfony 3 ORM이 persist 된 후 새로운 엔티티 레코드를 생성합니다.
public function createTeam(Request $request)
{
$teamForm = $this->createForm(TeamType::class);
$teamForm->handleRequest($request);
if ($teamForm->isSubmitted() && $teamForm->isValid()) {
$user = $this->getUser();
$team = $teamForm->getData();
$team->setCreatedAt(new \DateTime())
->setCreator($user);
$this->em->persist($team);
//dd($team);
$this->em->flush();
}
ORM : 당신이 사용자를 볼 수 있습니다 전에 지속
TeamController.php on line 52:
Team {#591 ▼
-id: null
-creator: SteamUser {#238 ▼
-id: 1
-roles: array:1 [▶]
-nickName: "steamuser"
-userName: "76561192288153971"
-password: "LrC8fFLuIdPqAiDHDATiheRaIBk="
-avatar: "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/9e/9e8567cc32383f28df41da7fbca7e8afd47f8516.jpg"
-teams: PersistentCollection {#290 ▶}
}
-name: "dasdasdasdas"
-logo: null
-teamType: 2
-createdAt: DateTime {#594 ▶}
-roster: ArrayCollection {#571 ▶}
}
ID가 인정 되나 지속 후에는 새를 만듭니다
여기 /**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\SteamUser", cascade={"persist"})
* @ORM\JoinColumn(name="steam_user_id", referencedColumnName="id", onDelete="SET NULL")
*/
private $creator;
는 기록이 어떻게 생겼는지 덤프입니다 데이터베이스에있는 사용자.
몇 가지 좋은 조언을주십시오.
다음과 같이 변경해야합니다? – svgrafov
동일한 ID를 가진 데이터베이스에 새로운 사용자를 생성합니까? – ArtOsi