<img src="/uploads/default/original/2X/d/d9de0594dc45e3d649a7d146d3188c4627923737.png" width=“133” height=“59”
Details: How does \Magento\Framework\DB\Adapter\Pdo\Mysql::getCheckSql()
work?
958164/app/code/Magento/Catalog/Model/ResourceModel/Product/Gallery.php#L143-L186
$select = $this->getConnection()->select()->from(
[$mainTableAlias => $this->getMainTable()],
[
'value_id',
'file' => 'value',
'media_type'
]
)->joinInner(
['entity' => $this->getTable(self::GALLERY_VALUE_TO_ENTITY_TABLE)],
$mainTableAlias . '.value_id = entity.value_id',
[$linkField]
)->joinLeft(
['value' => $this->getTable(self::GALLERY_VALUE_TABLE)],
implode(
' AND ',
[
$mainTableAlias . '.value_id = value.value_id',
$this->getConnection()->quoteInto('value.store_id = ?', (int)$storeId),
$this->getConnection()->quoteInto('value.' . $linkField . ' = ?', (int)$entityId)
]
),
['label', 'position', 'disabled']
)->joinLeft(
['default_value' => $this->getTable(self::GALLERY_VALUE_TABLE)],
implode(
' AND ',
[
$mainTableAlias . '.value_id = default_value.value_id',
'default_value.store_id = 0',
$this->getConnection()->quoteInto('default_value.' . $linkField . ' = ?', (int)$entityId)
]
),
['label_default' => 'label', 'position_default' => 'position', 'disabled_default' => 'disabled']
)->where(
$mainTableAlias . '.attribute_id = ?',
$attributeId
)->where(
$mainTableAlias . '.disabled = 0'
)->where(
'entity.' . $linkField . ' = ?',
$entityId
)->order(
$positionCheckSql . ' ' . \Magento\Framework\DB\Select::SQL_ASC
);
$select->assemble()
:
SELECT
`main`.`value_id`
, `main`.`value` AS `file`
, `main`.`media_type`
, `entity`.`entity_id`
, `value`.`label`
, `value`.`position`
, `value`.`disabled`
, `default_value`.`label` AS `label_default`
, `default_value`.`position` AS `position_default`
, `default_value`.`disabled` AS `disabled_default`
FROM
`catalog_product_entity_media_gallery` AS `main`
INNER JOIN
`catalog_product_entity_media_gallery_value_to_entity` AS `entity`
ON main.value_id = entity.value_id
LEFT JOIN
`catalog_product_entity_media_gallery_value` AS `value`
ON
main.value_id = value.value_id
AND value.store_id = 1
AND value.entity_id = 128
LEFT JOIN
`catalog_product_entity_media_gallery_value` AS `default_value`
ON
main.value_id = default_value.value_id
AND default_value.store_id = 0
AND default_value.entity_id = 128
WHERE
(main.attribute_id = '86')
AND (main.disabled = 0)
AND (entity.entity_id = '128')
ORDER BY IF(value.position IS NULL, default_value.position, value.position) ASC