Symfony 2.1 - FPNTagBundle - 添加标签错误?

时间:2013-01-28 10:21:25

标签: doctrine-orm symfony-2.1

我已经通过作曲家安装了FPNTagBundle

        $tagArray=array('uno','due');
        $tagManager = $this->get('fpn_tag.tag_manager');
        $tagsObj = $tagManager->loadOrCreateTags($tagArray);
        $tagManager->replaceTags($tagsObj,$entity);
        $em->persist($entity);
        $em->flush();

我收到此错误,以避免标记持续存在:

  

执行'INSERT INTO Tag(名称,slug,   created_at,updated_at)VALUES(?,?,?,?)'与params   { “1”:空, “2”: “UNO”, “3”:空, “4”:空}:

     

SQLSTATE [23000]:完整性约束违规:1048列'名称'   不能为null 500内部服务器错误 - DBALException

调用$ tag = parent :: createTag($ name)似乎是一个问题;在TagManager.php的第35行

有什么想法吗? 诉

1 个答案:

答案 0 :(得分:0)

我在项目中遇到了同样的问题。 问题是Tag实体阻止了BaseTagFPN\TagBundle\Entity\Tag)类中构造函数的执行。我很确定你的Tag类有自己的构造函数,你不会调用父类,它会在你的实体中设置缺少的name属性。

以下是一个示例自定义Tag类,它调用父构造函数来设置名称:

use FPN\TagBundle\Entity\Tag as BaseTag;

class Tag extends BaseTag
{
    protected $tagging;
    public function __construct($name = null)
    {
        parent::__construct($name);
        $this->tagging = new ArrayCollection();
    }
}