PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.18.0
GiveWP – Donation Plugin and Fundraising Platform v2.18.0
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / fakerphp / faker / src / Faker / ORM / Mandango / Populator.php
give / vendor / fakerphp / faker / src / Faker / ORM / Mandango Last commit date
ColumnTypeGuesser.php 5 years ago EntityPopulator.php 5 years ago Populator.php 5 years ago
Populator.php
66 lines
1 <?php
2
3 namespace Faker\ORM\Mandango;
4
5 use Mandango\Mandango;
6
7 /**
8 * Service class for populating a database using Mandango.
9 * A Populator can populate several tables using ActiveRecord classes.
10 */
11 class Populator
12 {
13 protected $generator;
14 protected $mandango;
15 protected $entities = array();
16 protected $quantities = array();
17
18 /**
19 * @param \Faker\Generator $generator
20 * @param Mandango $mandango
21 */
22 public function __construct(\Faker\Generator $generator, Mandango $mandango)
23 {
24 $this->generator = $generator;
25 $this->mandango = $mandango;
26 }
27
28 /**
29 * Add an order for the generation of $number records for $entity.
30 *
31 * @param mixed $entity A Propel ActiveRecord classname, or a \Faker\ORM\Propel\EntityPopulator instance
32 * @param int $number The number of entities to populate
33 */
34 public function addEntity($entity, $number, $customColumnFormatters = array())
35 {
36 if (!$entity instanceof \Faker\ORM\Mandango\EntityPopulator) {
37 $entity = new \Faker\ORM\Mandango\EntityPopulator($entity);
38 }
39 $entity->setColumnFormatters($entity->guessColumnFormatters($this->generator, $this->mandango));
40 if ($customColumnFormatters) {
41 $entity->mergeColumnFormattersWith($customColumnFormatters);
42 }
43 $class = $entity->getClass();
44 $this->entities[$class] = $entity;
45 $this->quantities[$class] = $number;
46 }
47
48 /**
49 * Populate the database using all the Entity classes previously added.
50 *
51 * @return array A list of the inserted entities.
52 */
53 public function execute()
54 {
55 $insertedEntities = array();
56 foreach ($this->quantities as $class => $number) {
57 for ($i=0; $i < $number; $i++) {
58 $insertedEntities[$class][]= $this->entities[$class]->execute($this->mandango, $insertedEntities);
59 }
60 }
61 $this->mandango->flush();
62
63 return $insertedEntities;
64 }
65 }
66