搜尋

首頁  >  問答  >  主體

symfony - doctrine 一對多關係 可選

現存Article,Category兩個entity,關係為onetomany;
其中article不是必須對應category,如果article不存在對應的分類,那麼category_id =0;

那麼問題來了

$article = new Article();
$article->setTitle('This is a test article');
//...
$em->persist($article);
$em->flush();

報錯如下,category_id 不能為空

  [Doctrine\DBAL\Driver\PDOException]
  SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'category_id' cannot be null



  [PDOException]
  SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'category_id' cannot be null

這種非必須的Association怎麼設定呢

ringa_leeringa_lee2751 天前459

全部回覆(1)我來回復

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 16:45:46

    把 Article::$category 的 nullable 屬性設為 true 就可以了

    ``
    class Article
    {

    /**
     * @ORM\OneToMany(targetEntity="AppBundle\Entity\Category", nullable=true)
     */
    protected $category;

    }
    ``

    回覆
    0
  • 取消回覆