zend-blog-3-backend
52 строки · 1.4 Кб
1<?php
2
3namespace Mtt\TestBundle\DataFixtures\ORM;
4
5use App\Entity\Commentator;
6use Doctrine\Bundle\FixturesBundle\Fixture;
7use Doctrine\Common\Persistence\ObjectManager;
8use Doctrine\Persistence\ObjectManager as ObjectManagerInterface;
9use Faker\Factory as FakerFactory;
10
11class LoadCommentatorData extends Fixture
12{
13const COUNT_COMMENTATORS = 24;
14
15/**
16* @param ObjectManager $manager
17*/
18public function load(ObjectManagerInterface $manager)
19{
20$commentator = new Commentator();
21$commentator
22->setName('test-name')
23->setEmail('commentator@example.org')
24->setWebsite('http://example.org')
25;
26
27$manager->persist($commentator);
28$manager->flush();
29
30$this->addReference('commentator-1', $commentator);
31
32$faker = FakerFactory::create('ru_RU');
33$faker->seed(164504);
34
35for ($i = 0; $i < self::COUNT_COMMENTATORS; $i++) {
36$commentator = new Commentator();
37
38$commentator->setName($faker->firstName);
39if ($faker->numberBetween(0, 100) < 60) {
40$commentator->setEmail($faker->email);
41}
42if ($faker->numberBetween(0, 100) < 30) {
43$commentator->setWebsite($faker->domainName);
44}
45
46$manager->persist($commentator);
47$manager->flush();
48
49$this->addReference('commentator-' . (string)($i + 2), $commentator);
50}
51}
52}
53