Doctrine\Common\DataFixtures\Loader::addFixture PHP Method

addFixture() public method

Add a fixture object instance to the loader.
public addFixture ( Doctrine\Common\DataFixtures\FixtureInterface $fixture )
$fixture Doctrine\Common\DataFixtures\FixtureInterface
    public function addFixture(FixtureInterface $fixture)
    {
        $fixtureClass = get_class($fixture);
        if (!isset($this->fixtures[$fixtureClass])) {
            if ($fixture instanceof OrderedFixtureInterface && $fixture instanceof DependentFixtureInterface) {
                throw new \InvalidArgumentException(sprintf('Class "%s" can\'t implement "%s" and "%s" at the same time.', get_class($fixture), 'OrderedFixtureInterface', 'DependentFixtureInterface'));
            }
            $this->fixtures[$fixtureClass] = $fixture;
            if ($fixture instanceof OrderedFixtureInterface) {
                $this->orderFixturesByNumber = true;
            } elseif ($fixture instanceof DependentFixtureInterface) {
                $this->orderFixturesByDependencies = true;
                foreach ($fixture->getDependencies() as $class) {
                    if (class_exists($class)) {
                        $this->addFixture(new $class());
                    }
                }
            }
        }
    }

Usage Example

 public function setUp()
 {
     parent::setUp();
     Artisan::call('doctrine:schema:create');
     $this->em = App::make('Doctrine\\ORM\\EntityManagerInterface');
     $this->repository = new PostDoctrineORMRepository($this->em);
     $this->executor = new ORMExecutor($this->em, new ORMPurger());
     $this->loader = new Loader();
     $this->loader->addFixture(new PostFixtures());
 }
All Usage Examples Of Doctrine\Common\DataFixtures\Loader::addFixture