Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
UpdateProductRelations.php
Go to the documentation of this file.
1 <?php
8 
15 
21 {
25  private $moduleDataSetup;
26 
30  private $relationProcessor;
31 
36  public function __construct(
37  \Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup,
38  \Magento\Catalog\Model\ResourceModel\Product\Relation $relationProcessor
39  ) {
40  $this->moduleDataSetup = $moduleDataSetup;
41  $this->relationProcessor = $relationProcessor;
42  }
43 
47  public function apply()
48  {
49  $this->moduleDataSetup->getConnection()->startSetup();
50 
51  $connection = $this->moduleDataSetup->getConnection();
52  $select = $connection->select()
53  ->from(
54  $this->relationProcessor->getTable('catalog_product_link'),
55  ['product_id', 'linked_product_id']
56  )
57  ->where('link_type_id = ?', Link::LINK_TYPE_GROUPED);
58 
59  $connection->query(
60  $connection->insertFromSelect(
61  $select,
62  $this->relationProcessor->getMainTable(),
63  ['parent_id', 'child_id'],
65  )
66  );
67 
68  $this->moduleDataSetup->getConnection()->endSetup();
69  }
70 
74  public static function getDependencies()
75  {
76  return [
77  InitializeGroupedProductLinks::class
78  ];
79  }
80 
84  public static function getVersion()
85  {
86  return '2.0.1';
87  }
88 
92  public function getAliases()
93  {
94  return [];
95  }
96 }
__construct(\Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup, \Magento\Catalog\Model\ResourceModel\Product\Relation $relationProcessor)
$connection
Definition: bulk.php:13