控制器在Symfony2中的set命令中发送空值

时间:2019-05-28 18:57:12

标签: symfony-2.7

我有一个插入新记录的控制器,但是将NULL值发送到idUsuario,idUsuario是创建新记录的用户的ID。

我已经检查了实体文件,表的结构,甚至设置了像1这样的手动值。我已经在mysql命令窗口中直接尝试了sql命令,而idUsuario的问题是NULL。

控制器:

  function createAction ....
    $user = $this->getUser();
    $idUser = $user->getId();

    $entity = new InProveedor();
    $entity->setIdUsuario($idUser);
    $em = $this->getDoctrine()->getManager();
    $em->persist($entity);
    $em->flush();

实体:

/**
 * @ORM\ManyToOne(targetEntity="Nival\AccesoBundle\Entity\AdUsuario", 
   inversedBy="proveedorUsuario")
 * @ORM\JoinColumn(name="id_usuario", referencedColumnName="id_usuario")
 */
protected $proveedorUsuario;

/**
 * @var integer
 *
 * @ORM\Column(name="id_usuario", type="integer", nullable=false)
 */
private $idUsuario;

/**
 * Set idUsuario
 *
 * @param integer $idUsuario
 * @return InProveedor
 */
public function setIdUsuario($idUsuario)
{
    $this->idUsuario = $idUsuario;

    return $this;
}

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

执行'INSERT INTO in_proveedor(razon_social,nombre_comercial,direccion,telefon,email,nrc,nit,contacto,fecha_ingreso,id_forma_pago,dias_entrega,id_aut1_asig,id_notificado,fecha_1,crecha_1, ,activo,id_empresaa)值(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)带有参数[“ GM Consulting SA de CV”,“ GM Consulting SA de CV”,“ 9 Calle poniente 81 Ave norte col Escal \ u00f3n 7-29,圣萨尔瓦多”,“ 22875000”,“ gmccapacitaciones2019@gmail.com”, “ 22222”,“ 222”,“ Astrid Cuadra”,“ 2019-05-28”,1,null,1,null,null,null,null,null,1,null,“ 2019-05-28 20:50:41 “,0,” 2“]:

SQLSTATE [23000]:违反完整性约束:1048列'id_usuario'不能为空

因此,即使我为字段idUsuario设置了一个值,它似乎也总是返回NULL。请帮帮我。

1 个答案:

答案 0 :(得分:0)

好吧,我所做的事情太奇怪了,我不得不删除关系beteewen表,并保存带有ID的记录,然后将关系放回实体文件中(两者均为:AdUsuario和InProveedor),然后它就可以了正确地