symfony2结合了主键和关系

时间:2017-04-25 09:06:50

标签: php symfony doctrine associations model-associations

我正在尝试将遗留数据库纳入学说映射。 所有表都有一个组合的主键。一个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;

0 个答案:

没有答案