Php Can';不要使用DataFixture来加载数据

Php Can';不要使用DataFixture来加载数据,php,symfony,Php,Symfony,这是我的代码: // my article fixture <?php namespace My\BlogBundle\DataFixtures\ORM; use Doctrine\Common\DataFixtures\AbstractFixture; use Doctrine\Common\DataFixtures\OrderedFixtureInterface; use My\BlogBundle\Entity\Article; use My\BlogBundle\Enti

这是我的代码:

// my  article fixture 

<?php

namespace My\BlogBundle\DataFixtures\ORM;

use Doctrine\Common\DataFixtures\AbstractFixture;
use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
use My\BlogBundle\Entity\Article;
use My\BlogBundle\Entity\User;
use My\BlogBundle\Entity\Tag;

class ArticleFixtures extends AbstractFixture implements OrderedFixtureInterface
{

    function load($em)
    {
        $article1 = new Article();
        $article1->setCreatedAt(new \Datetime);
        $article1->setTitle('hello my title test');
        $article1->setContent('Lorem ipsum dolor sit amet, consectetur adipiscing eletra electrify denim vel ports.\nLorem ipsum dolor sit ameLorem ipsum dolor sit amet, consectetur adipiscing eletra electrify denim vel ports.\nLorem ipsum dolor sit ameLorem ipsum dolor sit amet, consectetur adipiscing eletra electrify denim vel ports.\nLorem ipsum dolor sit ameLorem ipsum dolor sit amet, consectetur adipiscing eletra electrify denim vel ports.\nLorem ipsum dolor sit ameLorem ipsum dolor sit amet, consectetur adipiscing eletra electrify denim vel ports.\nLorem ipsum dolor sit ame');

        $article1->setUser($em->merge($this->getReference('user-1')) );
        $article1->addTag( $em->merge($this->getReference('tag-1') ) );

        $em->persist($article1);
        $em->flush() ;

    }

    function getOrder()
    {
        return 3 ;  
    }

}



// my tag fixture


<?php

namespace My\BlogBundle\DataFixtures\ORM;

use Doctrine\Common\DataFixtures\AbstractFixture;
use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
use My\BlogBundle\Entity\Tag;

class TagFixtures extends AbstractFixture implements OrderedFixtureInterface
{

    function load($em)
    {
        $tag = new Tag();
        $tag->setNom('tagTest') ;

        $em->persist($tag);
        $em->flush();
        $this->addReference('tag-1' ,$tag);


    }

    function getOrder()
    {
        return 2;
    }   

}   

// my user fixtures

<?php

namespace My\BlogBundle\DataFixtures\ORM;

use Doctrine\Common\DataFixtures\AbstractFixture;
use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
use My\BlogBundle\Entity\User;

class UserFixtures extends AbstractFixture implements OrderedFixtureInterface
{
    function load($em)
    {
        $user1 = new User() ;
        $user1->setPseudo('xsaidx');
        $user1->setEmail('email@mail.com');
        $user1->setPassword('hah');


        $em->persist($user1);
        $em->flush();
        $this->addReference('user-1' ,$user1);      


    }

    function getOrder()
    {
        return 1 ;
    }

}
//我的文章

您从行
$this->getReference('tag-1')
中获取的标记似乎没有经过
$em->persist($tag)
本身

在使用文章上的标记刷新实体管理器之前,请先持久化标记,或者可以将
cascade={“persist”}
添加到
article
类上的集合中,并使用当前代码