组合数据并以一对一关系插入数据库
Combining data and inserting to database with a one-to-one relationship
我在将数据插入具有一对一关系的数据库时遇到问题。问题是我不能使用 FormBuilder。因为数据来自于表单js。
用户从下拉列表中选择状态字段 list.Now 我想将返回的 ID 插入到实体订单中。
状态实体:
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="status", type="string", length=30)
*/
private $status;
订单实体:
/**
* @var int
*
* @OneToOne(targetEntity="AppBundle\Entity\Status", fetch="EAGER",cascade={"persist"})
* @JoinColumn(name="Status_id", referencedColumnName="id")
*/
private $Status;
服务:
$order=new Orders();
$status=new GlobalStatus();
$status->getId(1);
$order->setGlobalStatus($status);
$this->em->persist($order);
$this->em->flush();
然后 doctrine 尝试将数据添加到 Status table。如果我不尝试创建一个 Status 实例,我会得到一个错误 :(
有人可以告诉我如何添加这些数据吗?
状态实体
/**
* @var int
*
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(name="id", type="integer")
*/
protected $id;
/**
* @var Order
*
* @ORM\OneToOne(targetEntity="AppBundle\Entity\Order")
*/
protected $order;
订单实体:
/**
* @var Status
*
* @ORM\Column(name="status", type="string", length=30)
*/
protected $status;
您的服务:
class Foo
{
/**
* @param Status $status
*/
public function bar(Status $status)
{
if (!$status instanceof Status) {
return;
}
$order = new Order(); //Should be singular
$order->setStatus($status); //If it's `global` consider use enumType instead
$this->em->persist($order);
$this->em->flush();
}
}
如何让您获取 表单数据 并将其绑定到 Status
实体?
我在将数据插入具有一对一关系的数据库时遇到问题。问题是我不能使用 FormBuilder。因为数据来自于表单js。 用户从下拉列表中选择状态字段 list.Now 我想将返回的 ID 插入到实体订单中。
状态实体:
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="status", type="string", length=30)
*/
private $status;
订单实体:
/**
* @var int
*
* @OneToOne(targetEntity="AppBundle\Entity\Status", fetch="EAGER",cascade={"persist"})
* @JoinColumn(name="Status_id", referencedColumnName="id")
*/
private $Status;
服务:
$order=new Orders();
$status=new GlobalStatus();
$status->getId(1);
$order->setGlobalStatus($status);
$this->em->persist($order);
$this->em->flush();
然后 doctrine 尝试将数据添加到 Status table。如果我不尝试创建一个 Status 实例,我会得到一个错误 :( 有人可以告诉我如何添加这些数据吗?
状态实体
/**
* @var int
*
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(name="id", type="integer")
*/
protected $id;
/**
* @var Order
*
* @ORM\OneToOne(targetEntity="AppBundle\Entity\Order")
*/
protected $order;
订单实体:
/**
* @var Status
*
* @ORM\Column(name="status", type="string", length=30)
*/
protected $status;
您的服务:
class Foo
{
/**
* @param Status $status
*/
public function bar(Status $status)
{
if (!$status instanceof Status) {
return;
}
$order = new Order(); //Should be singular
$order->setStatus($status); //If it's `global` consider use enumType instead
$this->em->persist($order);
$this->em->flush();
}
}
如何让您获取 表单数据 并将其绑定到 Status
实体?