/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/DB/SubSelect.php
105 строк
2 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 17:47
22 окт 2025, 17:47
1b769b7
Код
Авторство
О чём код?
<?php /** * Copyright 2015 Adobe * All Rights Reserved. */ namespace Magento\Framework\DB; use Magento\Framework\App\ResourceConnection; use Magento\Framework\DB\Adapter\AdapterInterface; /** * Class Concat */ class SubSelect extends \Zend_Db_Expr { /** * @var string */ protected $table; /** * @var string[] */ protected $columns; /** * @var string */ protected $originColumn; /** * @var string */ protected $targetColumn; /** * @var \Magento\Framework\App\ResourceConnection */ protected $resource; /** * @var string */ protected $connectionName; /** * @var AdapterInterface */ protected $connection; /** * @param ResourceConnection $resource * @param string $connectionName * @param string $table * @param string[] $columns * @param string $originColumn * @param string $targetColumn */ public function __construct( ResourceConnection $resource, $table, array $columns, $originColumn, $targetColumn, $connectionName = ResourceConnection::DEFAULT_CONNECTION ) { $this->resource = $resource; $this->connectionName = $connectionName; $this->table = $table; $this->columns = $columns; $this->originColumn = $originColumn; $this->targetColumn = $targetColumn; } /** * @return string */ public function __toString() { $select = $this->getConnection()->select()->from( $this->resource->getTableName($this->table), array_values($this->columns) )->where( sprintf( '%s = %s', $this->getConnection()->quoteIdentifier($this->originColumn), $this->getConnection()->quoteIdentifier($this->targetColumn) ) )->limit(1); return sprintf('(%s)', $select); } /** * Returns connection * * @return AdapterInterface */ protected function getConnection() { if (!$this->connection) { $this->connection = $this->resource->getConnection($this->connectionName); } return $this->connection; } }