Context: How does \Magento\Catalog\Model\Product\Gallery\ReadHandler::execute()
work?
Details: How does \Magento\Catalog\Model\ResourceModel\Product\Gallery::createBaseLoadSelect()
work?
$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