我正在尝试将遗留数据库纳入学说映射。 所有表都有一个组合的主键。一个ID和一个“optios id”。
问题是总是必须设置Optios ID,但是具有相同列的OneToOne关系会导致列“Optios ID”设置为null。我不确定我做错了什么或是否有办法绕过它?
PS:'Pack'关系是可选的。
<?php
namespace CalendarBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="CalendarBundle\Repository\CategoryRepository")
* @ORM\Table(name="Categories")
*/
class Category
{
/**
* @ORM\Id
* @ORM\Column(type="integer", name="Category_id")
*/
private $id;
/**
* @ORM\Column(type="integer", name="Optios_id")
* @ORM\Id
*/
private $optiosId;
/**
* @ORM\Column(type="string", name="Name")
*/
private $name;
/**
* @ORM\Column(type="boolean", name="AvailableOnline")
*/
private $online;
/**
* @ORM\Column(type="integer", name="SequenceNumber", nullable=true)
*/
private $order;
/**
* @ORM\Column(type="integer", name="Parent_id")
*/
private $parentId;
/**
* One Category has Many Packs.
*
* @var Pack
*
* @ORM\OneToOne(targetEntity="Pack", inversedBy="category")
* @ORM\JoinColumns(
* @ORM\JoinColumn(name="Pack_id", referencedColumnName="Pack_id"),
* @ORM\JoinColumn(name="Optios_id", referencedColumnName="Optios_id"),
* )
*/
private $pack;
/**
* @ORM\Column(type="boolean", name="Deleted")
*/
private $deleted;