Doctrine外键和onetoone anotation

时间:2015-07-31 08:05:26

标签: php mysql doctrine-orm doctrine

我有以下实体:

class InvoicingSystemOrders extends BaseEntity
{
  /**
   * @ORM\Id
   * @ORM\Column(type="integer",nullable=false)
   * @ORM\GeneratedValue
   */
  protected $orderId;

  /**
   * @ORM\Column(type="integer",nullable=false)
   */
  protected $userId;

  /**
   * @ORM\OneToOne(targetEntity="App\Model\Entity\SystemUsers",fetch="EAGER")
   * @ORM\JoinColumn(name="user_id",referencedColumnName="user_id")
   */
  protected $user;
}

userId 是来自用户表的外键,问题是,如果我可以尝试插入新行,则doctrine尝试将userId保存为NULL。如果我使用anotation @OneToOne删除属性用户,则使用userId正确保存行。

  

使用params [null]执行'INSERT INTO invoicing_system_orders(user_id)VALUES(?)'时发生异常:SQLSTATE [23000]:完整性约束违规:1048列'user_id'不能为空

你能帮我解决这个问题吗?

0 个答案:

没有答案