Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
InitReviewStatusesAndData.php
Go to the documentation of this file.
1 <?php
8 
12 
14 {
18  private $moduleDataSetup;
19 
24  public function __construct(
25  \Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup
26  ) {
27  $this->moduleDataSetup = $moduleDataSetup;
28  }
29 
33  public function apply()
34  {
35  //Fill table review/review_entity
36  $reviewEntityCodes = [
40  ];
41  foreach ($reviewEntityCodes as $entityCode) {
42  $this->moduleDataSetup->getConnection()->insert(
43  $this->moduleDataSetup->getTable('review_entity'),
44  ['entity_code' => $entityCode]
45  );
46  }
47  //Fill table review/review_entity
48  $reviewStatuses = [
52  ];
53  foreach ($reviewStatuses as $k => $v) {
54  $bind = ['status_id' => $k, 'status_code' => $v];
55  $this->moduleDataSetup->getConnection()->insertForce(
56  $this->moduleDataSetup->getTable('review_status'),
57  $bind
58  );
59  }
60  $data = [
62  ['rating_code' => 'Quality', 'position' => 0],
63  ['rating_code' => 'Value', 'position' => 0],
64  ['rating_code' => 'Price', 'position' => 0],
65  ],
68  ];
69  foreach ($data as $entityCode => $ratings) {
70  //Fill table rating/rating_entity
71  $this->moduleDataSetup->getConnection()->insert(
72  $this->moduleDataSetup->getTable('rating_entity'),
73  ['entity_code' => $entityCode]
74  );
75  $entityId = $this->moduleDataSetup->getConnection()->lastInsertId(
76  $this->moduleDataSetup->getTable('rating_entity')
77  );
78  foreach ($ratings as $bind) {
79  //Fill table rating/rating
80  $bind['entity_id'] = $entityId;
81  $this->moduleDataSetup->getConnection()->insert(
82  $this->moduleDataSetup->getTable('rating'),
83  $bind
84  );
85  //Fill table rating/rating_option
86  $ratingId = $this->moduleDataSetup->getConnection()->lastInsertId(
87  $this->moduleDataSetup->getTable('rating')
88  );
89  $optionData = [];
90  for ($i = 1; $i <= 5; $i++) {
91  $optionData[] = ['rating_id' => $ratingId, 'code' => (string)$i, 'value' => $i, 'position' => $i];
92  }
93  $this->moduleDataSetup->getConnection()->insertMultiple(
94  $this->moduleDataSetup->getTable('rating_option'),
96  );
97  }
98  }
99  }
100 
104  public static function getDependencies()
105  {
106  return [];
107  }
108 
112  public static function getVersion()
113  {
114  return '2.0.0';
115  }
116 
120  public function getAliases()
121  {
122  return [];
123  }
124 }
__construct(\Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup)
$optionData
$i
Definition: gallery.phtml:31