1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework\Indexer\Handler;
- use Magento\Framework\App\ResourceConnection\SourceProviderInterface;
- use Magento\Framework\Indexer\HandlerInterface;
- class AttributeHandler implements HandlerInterface
- {
- /**
- * Prepare SQL for field and add it to collection
- *
- * @param SourceProviderInterface $source
- * @param string $alias
- * @param array $fieldInfo
- * @return void
- *
- * @SuppressWarnings(PHPMD.UnusedFormalParameter)
- */
- public function prepareSql(SourceProviderInterface $source, $alias, $fieldInfo)
- {
- if (isset($fieldInfo['bind'])) {
- if (!method_exists($source, 'joinAttribute')) {
- return;
- }
- $source->joinAttribute(
- $fieldInfo['name'],
- $fieldInfo['entity'] . '/' . $fieldInfo['origin'],
- $fieldInfo['bind'],
- null,
- 'left'
- );
- } else {
- $source->addFieldToSelect($fieldInfo['origin'], 'left');
- }
- }
- }
|