Definition at line 18 of file Subscription.php.
◆ __construct()
- Parameters
-
ResourceConnection | $resource | |
\Magento\Framework\DB\Ddl\TriggerFactory | $triggerFactory | |
\Magento\Framework\Mview\View\CollectionInterface | $viewCollection | |
\Magento\Framework\Mview\ViewInterface | $view | |
string | $tableName | |
string | $columnName | |
array | $ignoredUpdateColumns | |
Definition at line 81 of file Subscription.php.
90 $this->connection =
$resource->getConnection();
97 $this->ignoredUpdateColumns = $ignoredUpdateColumns;
◆ buildStatement()
buildStatement |
( |
|
$event, |
|
|
|
$changelog |
|
) |
| |
|
protected |
Build trigger statement for INSERT, UPDATE, DELETE events
- Parameters
-
string | $event | |
\Magento\Framework\Mview\View\ChangelogInterface | $changelog | |
- Returns
- string
Definition at line 199 of file Subscription.php.
202 case Trigger::EVENT_INSERT:
203 $trigger =
"INSERT IGNORE INTO %s (%s) VALUES (NEW.%s);";
205 case Trigger::EVENT_UPDATE:
207 $trigger =
"INSERT IGNORE INTO %s (%s) VALUES (NEW.%s);";
208 if ($this->connection->isTableExists(
$tableName) &&
209 $describe = $this->connection->describeTable(
$tableName)
211 $columnNames = array_column($describe,
'COLUMN_NAME');
212 $columnNames = array_diff($columnNames, $this->ignoredUpdateColumns);
217 'NEW.%1$s <=> OLD.%1$s',
222 "IF (%s) THEN %s END IF;",
229 case Trigger::EVENT_DELETE:
230 $trigger =
"INSERT IGNORE INTO %s (%s) VALUES (OLD.%s);";
237 $this->connection->quoteIdentifier($this->resource->getTableName(
$changelog->getName())),
238 $this->connection->quoteIdentifier(
$changelog->getColumnName()),
239 $this->connection->quoteIdentifier($this->getColumnName())
◆ getColumnName()
◆ getTableName()
◆ getView()
◆ $columnName
◆ $connection
◆ $linkedViews
◆ $resource
◆ $tableName
◆ $triggerFactory
◆ $view
◆ $viewCollection
The documentation for this class was generated from the following file: