控制器在 Symfony2 的 set 命令中发送空值
Controller sends null value in a set command in Symfony2
我有一个插入新记录的控制器,但将 NULL 值发送到 idUsuario,它是创建新记录的用户的 ID。
我已经检查了实体文件,table 的结构,甚至设置了一个手动值,如 1。我在 mysql 命令中直接尝试了 sql 命令 window 并且 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;
}
使用参数 ["GM Consulting SA de CV"、"GM Consulting SA de CV"、“9 Calle poniente 81 Ave norte col Escal\u00f3n 7-29, San Salvador”执行 'INSERT INTO in_proveedor (razon_social, nombre_comercial, direccion, telefono, email, nrc, nit, contacto, fecha_ingreso, id_forma_pago, dias_entrega, id_aut1_asig, id_notificado, fecha_notificado, id_aut1, fecha_aut1, id_categoria, id_usuario, fecha_creado, activo, id_empresaa) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' 时发生异常, "22875000", "gmccapacitaciones2019@gmail.com", "22222", "222", "Astrid Cuadra", "2019-05-28", 1, null, 1, null, null, null, null, 1, null , "2019-05-28 20:50:41", 0, "2"]:
SQLSTATE[23000]:违反完整性约束:1048 列 'id_usuario' 不能为 null
所以,似乎即使我为字段 idUsuario 设置了一个值,它也总是 return 为 NULL。请帮帮我。
好吧,我做的太奇怪了,我不得不删除表之间的关系,并用 ID 保存一条记录,然后我将关系放回实体文件(两者:AdUsuario 和 InProveedor)和它工作正常。
我有一个插入新记录的控制器,但将 NULL 值发送到 idUsuario,它是创建新记录的用户的 ID。
我已经检查了实体文件,table 的结构,甚至设置了一个手动值,如 1。我在 mysql 命令中直接尝试了 sql 命令 window 并且 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;
}
使用参数 ["GM Consulting SA de CV"、"GM Consulting SA de CV"、“9 Calle poniente 81 Ave norte col Escal\u00f3n 7-29, San Salvador”执行 'INSERT INTO in_proveedor (razon_social, nombre_comercial, direccion, telefono, email, nrc, nit, contacto, fecha_ingreso, id_forma_pago, dias_entrega, id_aut1_asig, id_notificado, fecha_notificado, id_aut1, fecha_aut1, id_categoria, id_usuario, fecha_creado, activo, id_empresaa) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' 时发生异常, "22875000", "gmccapacitaciones2019@gmail.com", "22222", "222", "Astrid Cuadra", "2019-05-28", 1, null, 1, null, null, null, null, 1, null , "2019-05-28 20:50:41", 0, "2"]:
SQLSTATE[23000]:违反完整性约束:1048 列 'id_usuario' 不能为 null
所以,似乎即使我为字段 idUsuario 设置了一个值,它也总是 return 为 NULL。请帮帮我。
好吧,我做的太奇怪了,我不得不删除表之间的关系,并用 ID 保存一条记录,然后我将关系放回实体文件(两者:AdUsuario 和 InProveedor)和它工作正常。