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; } }