2013-08-09 2 views
0

폼이 있고 컨트롤러에서 (내가 그것을 사용하는 setFromId 메서드) 1 필드 (fromID) 채우기 싶습니다,하지만 오류가 나타납니다. 내 코드 :symfony 2- 컨트롤러에서 폼을 채우십시오.

public function newAction() 
{ 
    $entity = new PrivateMessage(); 

    $user = $this->container->get('security.context')->getToken()->getUser(); 
    $entity->setFromId($user); 
    $form = $this->createForm(new PrivateMessageType(), $entity); 
    $form->setData($entity); 


    return $this->render('AcmeStoreBundle:PrivateMessage:new.html.twig', array(
     'entity' => $entity, 
     'form' => $form->createView(), 
    )); 
} 

내가 놓친 것이 있습니까? @edit : 필드 fromID가 사용 가능한 경우 작동하는 것을 추가하는 것을 잊어 버렸습니다. 하지만 나는 사용자가 그것을 바꿀 수있게하고 싶지 않다.

그리고 이것은 PrivateMessage 엔티티의 일부입니다

class PrivateMessage 

{/ ** * @var 정수 * * @ORM의 \ 열 (= "ID"이름, 유형 = "정수") * @ORM \ Id * @ORM \ GeneratedValue (전략 = "자동") */ private $ id;

/** 
* 
* @ORM\ManyToOne(targetEntity="User", inversedBy="pm_to") 
* @ORM\JoinColumns({ 
* @ORM\JoinColumn(name="to_id", referencedColumnName="id", nullable=false) 
* }) 
*/ 
private $toID; 

/** 
* 
* @ORM\ManyToOne(targetEntity="User", inversedBy="pm_from") 
* @ORM\JoinColumns({ 
* @ORM\JoinColumn(name="from_id", referencedColumnName="id", nullable=false) 
* }) 
*/ 
private $fromID; 

function __construct() 
{ 
    $this->setOpened(false); 
    $this->setRecipientDelete(false); 
    $this->setSenderDelete(false); 
} 
/** 
* @ORM\PrePersist 
*/ 
public function setFromIdValue() 
{ 
    $this->fromID= $this->getFromId(); 
} 

/** 
* Set fromID 
* 
* @param \Acme\Bundle\Entity\User $fromId 
* @return PrivateMessage 
*/ 
public function setFromId(\Acme\StoreBundle\Entity\User $fromId = null) 
{ 
    $this->fromID = $fromId; 

    return $this; 
} 

/** 
* Get fromID 
* 
* @return \Acme\StoreBundle\Entity\User 
*/ 
public function getFromId() 
{ 
    return $this->fromID; 
} 
+1

그리고 오류는 무엇입니까? – Cerad

+0

엔티티 클래스를 붙여 넣을 수 있습니까? – Moylin

+0

"INSERT INTO PrivateMessage (time_sent, subject, message, 열린, recipientDelete, senderDelete, to_id, from_id) VALUES (?,?,?,?,?)를 실행하는 동안 예외가 발생했습니다. 'SQLSTATE [23000] : 무결성 제약 조건 위반 : 1048 열'from_id '매개 변수와 함께'[2013-08-09 22:12:09 ","gd ","hgdh ", 0, 0, 0, 1, 'null이 될 수 없습니다. " – user2637282

답변