Но вообще, если вы упрётесь в group_concat_max_len, то у вас какой-то непродуманный интерфейс (кому будет нужен список из тысяч имён?).
«Диапазон user_id для всех реакций» — это вы так называете идентификаторы всех пользователей, оставивших конкретную реакцию к конкретному комментарию (тогда это не «диапазон» и не «для всех реакций»)?
Если так, то самое простое и адекватное — использовать group_concat, он для этого и предназначен. Ну либо агрегировать в коде, да.
#[Route(name:'users.get', path:'user/[?id]', methods:'GET', group: 'api')]
readonly class Handler implements RequestHandlerInterface
{
}
SELECT DISTINCT `products`.`id`, `products`.`name`, `products`.`price`, `products`.`attributes`, `products`.`description`, `products`.`created_at` AS `createdAt`,
products.category_id AS `categoryId`, `products`.`brand_id` AS `brandId`
FROM `products`
INNER JOIN `filters_products`
ON `products`.`id` = `filters_products`.`product_id`
WHERE ((`filters_products`.`filter_id` = 3 AND (filter_value = 'Intel® Core™ i5 11400F' OR filter_value = 'AMD Ryzen 5 5600G') )OR (`filters_products`.`filter_id` = 1 AND (filter_value BETWEEN 1000 AND 4000 ) ) )
{
"table": "products",
"rows":
[
{
"id": 1,
"name": "Lenovo Legion T5 Gen 6 26IOB6 90RT00RYRS",
"category_id": 1,
"brand_id": 1,
"price": 106000,
"attributes": null,
"description": null,
"short_description": null,
"created_at": "2023-02-08 00:00:11"
},
{
"id": 3,
"name": "Системный блок HP Omen GT12-1049ur черный (5D427EA)",
"category_id": 1,
"brand_id": 2,
"price": 120990,
"attributes": null,
"description": null,
"short_description": null,
"created_at": "2023-02-08 00:00:11"
}
]
}
{
"table": "products",
"rows":
[
{
"id": 1,
"name": "Lenovo Legion T5 Gen 6 26IOB6 90RT00RYRS",
"category_id": 1,
"brand_id": 1,
"price": 106000,
"attributes": null,
"description": null,
"short_description": null,
"created_at": "2023-02-08 00:00:11"
},
{
"id": 2,
"name": "Системный блок HP Pavilion Gaming TG01-2018ur черный (42V09EA)",
"category_id": 1,
"brand_id": 2,
"price": 87990,
"attributes": null,
"description": null,
"short_description": null,
"created_at": "2023-02-08 00:00:11"
},
{
"id": 3,
"name": "Системный блок HP Omen GT12-1049ur черный (5D427EA)",
"category_id": 1,
"brand_id": 2,
"price": 120990,
"attributes": null,
"description": null,
"short_description": null,
"created_at": "2023-02-08 00:00:11"
}
]
}
{
"table": "filters_products",
"rows":
[
{
"filter_id": 1,
"product_id": 1,
"filter_value": "2600"
},
{
"filter_id": 1,
"product_id": 3,
"filter_value": "2600"
},
{
"filter_id": 1,
"product_id": 2,
"filter_value": "3900"
},
{
"filter_id": 2,
"product_id": 1,
"filter_value": "6"
},
{
"filter_id": 2,
"product_id": 2,
"filter_value": "6"
},
{
"filter_id": 2,
"product_id": 3,
"filter_value": "6"
},
{
"filter_id": 3,
"product_id": 2,
"filter_value": "AMD Ryzen 5 5600G"
},
{
"filter_id": 3,
"product_id": 1,
"filter_value": "Intel® Core™ i5 11400F"
},
{
"filter_id": 3,
"product_id": 3,
"filter_value": "Intel® Core™ i5 11400F"
}
]
}