왜 내 매핑과 컨트롤러 동작이 작동하지 않는지 궁금합니다. 이를 위해서는 필자의 이전 게시물 인 엔티티와 데이터베이스 스키마 (여기서는 here)를 설명해야합니다. 더 이상 업데이트가 없으므로 새 게시물을 시작해야하며 Doctrine + Zend Pros의 관심을 끄는 유일한 방법이라고 생각했습니다.기본 키로 복합 및 외래 키 doctrine 2 + zend framework 2
이전 게시물에서 설명한대로 Zend Form을 사용하면 teamId 및 teamName을 입력 할 수 있으며 양식의 드롭 다운 목록에서 여러 플레이어를 선택할 수 있으며 플레이어를 팀에 할당 할 수 있습니다. 그래서 기본적으로 교리와 젠드를 달성하는 것이 저의 목표입니다. 이를 위해 필자는 이전 게시물에 설명 된 엔티티를 작성했으며 지금은 엔티티를 유지하기 위해 컨트롤러에서 코드를 추가하려고합니다.
컨트롤러 :
public function addAction()
{
$form = new TeamForm($this->getEntityManager());
$form->get('submit')->setAttribute('value', 'Add');
$request = $this->getRequest();
if ($request->isPost())
{
$team = new Team();
$player = new Player();
$teamPlayers = new TeamPlayer();
$form->setInputFilter($typeset->getInputFilter());
$form->setData($request->getPost());
if ($form->isValid())
{
$team->populate($form->getData());
$teamPlayers->setPlayer($player);
$teamPlayers->setTeam($team);
$this->getEntityManager()->persist($teamPlayers);
$this->getEntityManager()->flush();
//Reroute to the index page once the data is successfully added
}
}
//return form array
return array(
'form' => $form
);
}
가 그래서 임은 이미 플레이어 표가 데이터로 채워 한, 두 테이블 (팀 테이블 및 teamPlayer 표)로 엔티티를 저장 내 컨트롤러에 뭘 기본적으로. 따라서 팀에 선수를 추가하고 두 테이블에 값을 할당하려고합니다.
지금은 양식을 볼 수 있습니다. 데이터를 입력하고 제출을 누르면 아무 것도 일어나지 않습니다. 아무런 조치없이 양식을 볼 수 있습니다. 데이터가 데이터베이스에 성공적으로 저장되면 인덱스 페이지로 다시 라우팅됩니다.
매핑 섹션이나 컨트롤러 쪽에서 오류 발생을 지적하면 도움이 될 것입니다.
특히 Doctrine 2의 공식 문서는 너무 광범위하며 특히 요구 사항에 대해 명확하지 않습니다.
1 단계 :
답장을 보내 주셔서 감사합니다. 그러나 제가 찾고있는 정확한 해결책을 찾는 데 도움이되지 않습니다. – 125369
그래서 새로운 상태로 질문을 업데이트 해주십시오. – tawfekov