使用自引用多对多关系添加NULL值

时间:2013-09-05 08:20:42

标签: doctrine-orm many-to-many

我有两张桌子:

category
id | name
1  | Programming
2  | Designing
3  | PHP
4  | C#
5  | Adobe Photoshop
category_tree
category_id | parent_id
1           | NULL
2           | NULL
3           | 1
4           | 1
5           | 2

这是实体类:

 /**
 * @ORM\Entity
 * @ORM\Table(name="category")
 */
 class Category
{

/**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer", nullable=false)
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */
protected $id;
/**
 * @ORM\Column(type="text", name="name")
 */
protected $name;
    /**
 * @ORM\Column(type="text", name="description")
 */

/**
 * @ORM\ManyToMany(targetEntity="Category")
 * @ORM\JoinTable(name="category_tree",
 *      joinColumns={@ORM\JoinColumn(name="category_id", referencedColumnName="id")},
 *      inverseJoinColumns={@ORM\JoinColumn(name="parent_id", referencedColumnName="id")}
 *      )
 */
protected $categories;




public function __construct()
{
    $this->categories = new \Doctrine\Common\Collections\ArrayCollection();
}

public function addCategory(Category $category)
{
    $this->categories[] = $category;
    return $this;
}

public function getCategories()
{
    return $this->categories;
}

public function getId()
{
    return $this->id;
}

public function setName($name)
{
    $this->name = $name;
    return $this;
}

public function getName()
{
    return $this->name;
}

}

我正在使用select form元素在数据库中插入这些值,当我选择任何可以正常工作的根类别时,但是当我选择root或留空时,这不能在“category_tree”表中插入NULL值。如何在“category_tree”表中添加NULL值?

0 个答案:

没有答案
相关问题