symfony 2列不能为空

时间:2014-02-27 02:22:25

标签: symfony

我在symfony 2中有一个问题。当我尝试在具有外键的表(Sinedries)中插入新行时,我得到错误列'kod_pelati'不能为空。 主表“Pelates”:

    /**
 * @ORM\OneToMany(targetEntity="Sinedries", mappedBy="pelates")
 */
private $sinedries;

public function __construct()
{
    $this->sinedries = new ArrayCollection();
}

详细信息表实体“Sinedries”:

/**
 * @var integer
 *
 * @ORM\Column(name="kodikos", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $kodikos;

/**
 * @var integer
 *
 * @ORM\Column(name="kod_pelati", type="integer")
 */
private $kodPelati;

.....

    /**
 * Set kodPelati
 *
 * @param integer $kodPelati
 * @return Sinedries
 */
public function setKodPelati($kodPelati)
{
    $this->kodPelati = $kodPelati;

    return $this;
}

/**
 * Get kodPelati
 *
 * @return integer 
 */
public function getKodPelati()
{
    return $this->kodPelati;
}

...

/**
 * @ORM\ManyToOne(targetEntity="Pelates", inversedBy="sinedries")
 * @ORM\JoinColumn(name="kod_pelati", referencedColumnName="kodikos", onDelete="CASCADE")
 */
private $pelates;

控制器:

        $sinedria = new Sinedries();
    $sinedria->setKodPelati($idPelati);             


    $em = $this->getDoctrine()->getManager();


    $form = $this->createForm(new SinedriesType(), $sinedria);

    $form->handleRequest($request);


    if ($form->isValid()) {
    // perform some action, such as saving the task to the database
        $em->persist($sinedria);
        $em->flush();

我尝试了没有形式,但发生了同样的问题。另外一个类似的控制器与更新语句工作正常。 你有什么建议吗? 谢谢。

1 个答案:

答案 0 :(得分:0)