GET https://all.white-sign.baks.dev/favorites

Query Metrics

5 Database Queries
2 Different statements
989.16 ms Query time
0 Invalid entities
0 Managed entities

Grouped Statements

Show all queries

Time Count Info
802.58 ms
(81.14%)
4
SELECT product.id AS product_id, product.event AS product_event, product_trans.name AS product_name, product_info.url AS product_url, product_info.sort AS product_sort, product_active.active_from AS product_active_from, category_offer.card AS category_offer_card , category_offer.reference AS product_offer_reference, category_variation.card AS category_variation_card, category_variation.reference as product_variation_reference, category_modification.card AS category_modification_card , category_modification.reference as product_modification_reference, JSON_AGG( DISTINCT product_invariable.id) AS invariable, 
                CASE
    
                    WHEN product_modification_image.name IS NOT NULL THEN
                        CONCAT ( '/upload/product_modification_images' , '/', product_modification_image.name)
                    WHEN product_variation_image.name IS NOT NULL THEN
                        CONCAT ( '/upload/product_variation_images' , '/', product_variation_image.name)
                    WHEN product_offer_images.name IS NOT NULL THEN
                        CONCAT ( '/upload/product_offer_images' , '/', product_offer_images.name)
                    WHEN product_photo.name IS NOT NULL THEN
                        CONCAT ( '/upload/product_photo' , '/', product_photo.name)
                    ELSE NULL
                   
                END AS product_image
            , 
            COALESCE(
                product_modification_image.ext,
                product_variation_image.ext,
                product_offer_images.ext,
                product_photo.ext
            ) AS product_image_ext, 
            COALESCE(
                product_modification_image.cdn,
                product_variation_image.cdn,
                product_offer_images.cdn,
                product_photo.cdn
            ) AS product_image_cdn, category_info.url AS category_url, category_trans.name AS category_name, 
            COALESCE(
                NULLIF(MIN(product_modification_price.price), 0),
                NULLIF(MIN(product_variation_price.price), 0),
                NULLIF(MIN(product_offer_price.price), 0),
                NULLIF(MIN(product_price.price), 0),
                0
            ) AS product_price
		, 
            CASE

			   WHEN MIN(product_modification_price.price) IS NOT NULL
			   THEN product_modification_price.currency

			   WHEN MIN(product_variation_price.price) IS NOT NULL
			   THEN product_variation_price.currency

			   WHEN MIN(product_offer_price.price) IS NOT NULL
			   THEN product_offer_price.currency

			   WHEN MIN(product_price.price) IS NOT NULL
			   THEN product_price.currency

			   ELSE NULL

			END AS product_currency
		, project_profile_discount.value AS project_discount FROM product INNER JOIN product_categories_product product_event_category ON product_event_category.event = product.event AND product_event_category.category IN (?) LEFT JOIN product_trans product_trans ON product_trans.event = product.event AND product_trans.local = ? LEFT JOIN product_info product_info ON product_info.product = product.id INNER JOIN product_active product_active ON 
                    product_active.event = product.event AND 
                    product_active.active IS TRUE AND
                    (product_active.active_to IS NULL OR product_active.active_to > NOW())
                 LEFT JOIN product_price product_price ON product_price.event = product.event AND product_price.price > 0 LEFT JOIN product_offer product_offer ON product_offer.event = product.event INNER JOIN users_profile project_profile ON 
                        project_profile.id = ? LEFT JOIN product_category category ON category.id = product_event_category.category LEFT JOIN product_category_info category_info ON category_info.event = category.event AND category_info.active IS TRUE LEFT JOIN product_category_trans category_trans ON category_trans.event = category.event AND category_trans.local = ? LEFT JOIN product_category_offers category_offer ON category_offer.id = product_offer.category_offer LEFT JOIN product_offer_price product_offer_price ON product_offer_price.offer = product_offer.id AND product_offer_price.price > 0 LEFT JOIN product_offer_quantity product_offer_quantity ON product_offer_quantity.offer = product_offer.id LEFT JOIN product_variation product_variation ON product_variation.offer = product_offer.id LEFT JOIN product_variation_images product_variation_image ON 
                product_variation_image.variation = product_variation.id AND
                product_variation_image.root = true
			 LEFT JOIN product_offer_images product_offer_images ON 
			product_variation_image.name IS NULL AND
			product_offer_images.offer = product_offer.id AND
			product_offer_images.root = true
			 LEFT JOIN product_photo product_photo ON 
                product_offer_images.name IS NULL AND
                product_photo.event = product.event AND
                product_photo.root = true
			 LEFT JOIN product_category_variation category_variation ON category_variation.id = product_variation.category_variation LEFT JOIN product_modification product_modification ON product_modification.variation = product_variation.id LEFT JOIN product_invariable product_invariable ON 
                                    product_invariable.product = product.id
                                    AND
                                        CASE
                                            WHEN product_offer.const IS NOT NULL THEN product_invariable.offer = product_offer.const
                                            ELSE product_invariable.offer IS NULL
                                        END
                                    AND
                                        CASE
                                            WHEN product_variation.const IS NOT NULL THEN product_invariable.variation = product_variation.const
                                            ELSE product_invariable.variation IS NULL
                                        END
                                    AND
                                        CASE
                                            WHEN product_modification.const IS NOT NULL THEN product_invariable.modification = product_modification.const
                                            ELSE product_invariable.modification IS NULL
                                        END
                                 LEFT JOIN product_variation_price product_variation_price ON product_variation_price.variation = product_variation.id AND product_variation_price.price > 0 LEFT JOIN product_variation_quantity product_variation_quantity ON product_variation_quantity.variation = product_variation.id LEFT JOIN product_category_modification category_modification ON category_modification.id = product_modification.category_modification LEFT JOIN product_modification_price product_modification_price ON product_modification_price.modification = product_modification.id AND product_modification_price.price > 0 LEFT JOIN product_modification_quantity product_modification_quantity ON product_modification_quantity.modification = product_modification.id LEFT JOIN product_modification_images product_modification_image ON 
                product_modification_image.modification = product_modification.id AND
                product_modification_image.root = true
			 LEFT JOIN user_profile_discount project_profile_discount ON 
                        project_profile_discount.event = project_profile.event WHERE (COALESCE(
                NULLIF(product_modification_price.price, 0),
                NULLIF(product_variation_price.price, 0),
                NULLIF(product_offer_price.price, 0),
                NULLIF(product_price.price, 0),
                0
            ) > 0) AND (
            CASE
                WHEN product_modification_quantity.quantity IS NOT NULL THEN (product_modification_quantity.quantity - product_modification_quantity.reserve)
                WHEN product_variation_quantity.quantity IS NOT NULL THEN (product_variation_quantity.quantity - product_variation_quantity.reserve)
                WHEN product_offer_quantity.quantity IS NOT NULL THEN (product_offer_quantity.quantity - product_offer_quantity.reserve)
                WHEN product_price.quantity  IS NOT NULL THEN (product_price.quantity - product_price.reserve)
                ELSE 0
            END > 0
        ) GROUP BY product_price.currency, product_offer_price.currency, product_variation_price.currency, product_modification_price.currency, product.id, product.event, product_trans.name, product_info.url, product_info.sort, product_active.active_from, category_offer.card, category_offer.reference, category_variation.card, category_variation.reference, category_modification.card, category_modification.reference, product_modification_image.name, product_variation_image.name, product_offer_images.name, product_photo.name, product_modification_image.ext, product_variation_image.ext, product_offer_images.ext, product_photo.ext, product_modification_image.cdn, product_variation_image.cdn, product_offer_images.cdn, product_photo.cdn, category_info.url, category_trans.name, project_profile_discount.value ORDER BY product_info.sort DESC, SUM(product_modification_quantity.reserve) DESC, SUM(product_variation_quantity.reserve) DESC, SUM(product_offer_quantity.reserve) DESC, SUM(product_price.reserve) DESC, SUM(product_modification_quantity.quantity) DESC, SUM(product_variation_quantity.quantity) DESC, SUM(product_offer_quantity.quantity) DESC, SUM(product_price.quantity) DESC LIMIT 6
Parameters:
[
  BaksDev\Products\Category\Type\Id\CategoryProductUid {#2010
    __toString(): "01905ea6-805e-7a56-b53c-da41c19f9e38"
  }
  "ru"
  "019469c3-700f-76a9-9b34-ccde7b4e6f49"
  "ru"
]
186.58 ms
(18.86%)
1
SELECT product.id AS product_id, product.event AS product_event, product_offer.id AS product_offer_id, product_offer.const AS product_offer_const, product_offer.value as product_offer_value, product_offer.postfix as product_offer_postfix, category_offer.reference as product_offer_reference, product_variation.id AS product_variation_id, product_variation.const AS product_variation_const, product_variation.value as product_variation_value, product_variation.postfix as product_variation_postfix, category_offer_variation.reference as product_variation_reference, product_modification.id AS product_modification_id, product_modification.const AS product_modification_const, product_modification.value as product_modification_value, product_modification.postfix as product_modification_postfix   , category_offer_modification.reference as product_modification_reference, product_trans.name AS product_trans_name, JSON_AGG 
            (DISTINCT
				CASE 
                    WHEN product_offer_images.ext IS NOT NULL 
                    THEN JSONB_BUILD_OBJECT
                        (
                            'img_root', product_offer_images.root,
                            'img', CONCAT ( '/upload/product_offer_images' , '/', product_offer_images.name),
                            'img_ext', product_offer_images.ext,
                            'img_cdn', product_offer_images.cdn
                        ) 
                    WHEN product_variation_images.ext IS NOT NULL 
                    THEN JSONB_BUILD_OBJECT
                        (
                            'img_root', product_variation_images.root,
                            'img', CONCAT ( '/upload/product_variation_images' , '/', product_variation_images.name),
                            'img_ext', product_variation_images.ext,
                            'img_cdn', product_variation_images.cdn
                        )	
                    WHEN product_modification_images.ext IS NOT NULL 
                    THEN JSONB_BUILD_OBJECT
                        (
                            'img_root', product_modification_images.root,
                            'img', CONCAT ( '/upload/product_modification_images' , '/', product_modification_images.name),
                            'img_ext', product_modification_images.ext,
                            'img_cdn', product_modification_images.cdn
                        )
                    WHEN product_photo.ext IS NOT NULL 
                    THEN JSONB_BUILD_OBJECT
                        (
                            'img_root', product_photo.root,
                            'img', CONCAT ( '/upload/product_photo' , '/', product_photo.name),
                            'img_ext', product_photo.ext,
                            'img_cdn', product_photo.cdn
                        )
                    END) AS product_images, product_event.id AS product_event, product_category.category AS product_category, category.event AS category_event, category_info.url AS category_url, product_info.url AS product_url, project_profile_discount.value AS project_discount, 
			COALESCE(
                NULLIF(product_modification_quantity.quantity, 0),
                NULLIF(product_variation_quantity.quantity, 0),
                NULLIF(product_offer_quantity.quantity, 0),
                NULLIF(product_price.quantity, 0),
                0
            ) AS product_quantity
		, 
			COALESCE(
                NULLIF(product_modification_quantity.reserve, 0),
                NULLIF(product_variation_quantity.reserve, 0),
                NULLIF(product_offer_quantity.reserve, 0),
                NULLIF(product_price.reserve, 0),
                0
            ) AS product_reserve
		, 
			CASE
			   WHEN product_modification_price.price IS NOT NULL AND product_modification_price.price > 0 
			   THEN product_modification_price.price
			   
			   WHEN product_variation_price.price IS NOT NULL AND product_variation_price.price > 0 
			   THEN product_variation_price.price
			   
			   WHEN product_offer_price.price IS NOT NULL AND product_offer_price.price > 0 
			   THEN product_offer_price.price
			   
			   WHEN product_price.price IS NOT NULL AND product_price.price > 0 
			   THEN product_price.price
			   
			   ELSE NULL
			END AS product_price
		, 
			COALESCE(
                NULLIF(product_modification_price.old, 0),
                NULLIF(product_variation_price.old, 0),
                NULLIF(product_offer_price.old, 0),
                NULLIF(product_price.old, 0),
                0
            ) AS product_old_price
		, 
			CASE
			   WHEN COALESCE(product_modification_price.price, 0) != 0 
			   THEN product_modification_price.currency
			   
			   WHEN COALESCE(product_variation_price.price, 0) != 0 
			   THEN product_variation_price.currency
			   
			   WHEN COALESCE(product_offer_price.price, 0) != 0 
			   THEN product_offer_price.currency
			   
			   WHEN COALESCE(product_price.price, 0) != 0 
			   THEN product_price.currency
			   
			   ELSE NULL
			END AS product_currency, product_invariable.id as product_invariable_id, product_invariable.offer AS product_invariable_offer_const FROM product_invariable LEFT JOIN product product ON product.id = product_invariable.product LEFT JOIN product_offer product_offer ON product_offer.event = product.event AND product_offer.const = product_invariable.offer LEFT JOIN product_trans product_trans ON product_trans.event = product.event AND product_trans.local = ? LEFT JOIN product_photo product_photo ON product_photo.event = product.event AND product_photo.root = TRUE LEFT JOIN product_price product_price ON product_price.event = product.event LEFT JOIN product_event product_event ON product_event.id = product.event LEFT JOIN product_info product_info ON product_info.product = product.id INNER JOIN users_profile project_profile ON 
                        project_profile.id = ? LEFT JOIN product_categories_product product_category ON product_category.event = product_event.id AND product_category.root IS TRUE LEFT JOIN product_category category ON category.id = product_category.category LEFT JOIN product_category_info category_info ON category_info.event = category.event AND category_info.active = true LEFT JOIN user_profile_discount project_profile_discount ON 
                        project_profile_discount.event = project_profile.event LEFT JOIN product_category_offers category_offer ON category_offer.id = product_offer.category_offer LEFT JOIN product_variation product_variation ON product_variation.offer = product_offer.id AND product_variation.const = product_invariable.variation LEFT JOIN product_offer_images product_offer_images ON product_offer_images.offer = product_offer.id AND product_offer_images.root = TRUE LEFT JOIN product_offer_price product_offer_price ON product_offer_price.offer = product_offer.id LEFT JOIN product_offer_quantity product_offer_quantity ON product_offer_quantity.offer = product_offer.id LEFT JOIN product_category_variation category_offer_variation ON category_offer_variation.id = product_variation.category_variation LEFT JOIN product_modification product_modification ON product_modification.variation = product_variation.id AND product_modification.const = product_invariable.modification LEFT JOIN product_variation_images product_variation_images ON product_variation_images.variation = product_variation.id AND product_variation_images.root = TRUE LEFT JOIN product_variation_price product_variation_price ON product_variation_price.variation = product_variation.id LEFT JOIN product_variation_quantity product_variation_quantity ON product_variation_quantity.variation = product_variation.id LEFT JOIN product_category_modification category_offer_modification ON category_offer_modification.id = product_modification.category_modification LEFT JOIN product_modification_images product_modification_images ON product_modification_images.modification = product_modification.id AND product_modification_images.root = TRUE LEFT JOIN product_modification_price product_modification_price ON product_modification_price.modification = product_modification.id LEFT JOIN product_modification_quantity product_modification_quantity ON product_modification_quantity.modification = product_modification.id WHERE product_invariable.id IN (NULL) GROUP BY product.id, product.event, product_offer.id, product_offer.const, product_offer.value, product_offer.postfix, category_offer.reference, product_variation.id, product_variation.const, product_variation.value, product_variation.postfix, category_offer_variation.reference, product_modification.id, product_modification.const, product_modification.value, product_modification.postfix, category_offer_modification.reference, product_trans.name, product_event.id, product_category.category, category.event, category_info.url, product_info.url, project_profile_discount.value, product_modification_quantity.quantity, product_variation_quantity.quantity, product_offer_quantity.quantity, product_price.quantity, product_modification_quantity.reserve, product_variation_quantity.reserve, product_offer_quantity.reserve, product_price.reserve, product_modification_price.price, product_variation_price.price, product_offer_price.price, product_price.price, product_modification_price.old, product_variation_price.old, product_offer_price.old, product_price.old, product_modification_price.currency, product_variation_price.currency, product_offer_price.currency, product_price.currency, product_invariable.id, product_invariable.offer LIMIT 24
Parameters:
[
  "ru"
  "019469c3-700f-76a9-9b34-ccde7b4e6f49"
]

Database Connections

Name Service
default doctrine.dbal.default_connection

Entity Managers

Name Service
default doctrine.orm.default_entity_manager

Second Level Cache

Second Level Cache is not enabled.

Managed Entities

default entity manager

Class Amount of managed objects

Entities Mapping

No loaded entities.