Пытаюсь сформировать запрос, чтобы было одним запросом к БД.
\Bitrix\Sale\Internals\UserPropsTable::getList([
"select" => ["*", "PROFILE_" => "PROFILE.*"],
"filter" => ["PERSON_TYPE_ID" => 49163, "ID" => 12,
"runtime" => [
new \Bitrix\Main\Entity\ReferenceField(
'PROFILE',
\Bitrix\Sale\Internals\UserPropsValueTable::class,
array('=this.ID' => 'ref.USER_PROPS_ID')
),
]
])->fetchAll();
Но результат разбивается на несколько элементов массива.
[
{
"ID": "12",
"NAME": "Проверка заголовка профиля",
"USER_ID": "49163",
"PERSON_TYPE_ID": "1",
"DATE_UPDATE": {},
"XML_ID": null,
"VERSION_1C": null,
"PROFILE_ID": "51",
"PROFILE_USER_PROPS_ID": "12",
"PROFILE_ORDER_PROPS_ID": "2",
"PROFILE_NAME": "ФИО",
"PROFILE_VALUE": "Проверка Работ Профиля"
},
{
"ID": "12",
"NAME": "Проверка заголовка профиля",
"USER_ID": "49163",
"PERSON_TYPE_ID": "1",
"DATE_UPDATE": {},
"XML_ID": null,
"VERSION_1C": null,
"PROFILE_ID": "52",
"PROFILE_USER_PROPS_ID": "12",
"PROFILE_ORDER_PROPS_ID": "3",
"PROFILE_NAME": "E-mail",
"PROFILE_VALUE": "test2@example.com"
},
{
"ID": "12",
"NAME": "Проверка заголовка профиля",
"USER_ID": "49163",
"PERSON_TYPE_ID": "1",
"DATE_UPDATE": {},
"XML_ID": null,
"VERSION_1C": null,
"PROFILE_ID": "53",
"PROFILE_USER_PROPS_ID": "12",
"PROFILE_ORDER_PROPS_ID": "4",
"PROFILE_NAME": "Телефон",
"PROFILE_VALUE": "+79370000000"
}
]
Как сделать, чтобы результат был, не прибегая к циклам:
[
{
"ID": "12",
"NAME": "Проверка заголовка профиля",
"USER_ID": "49163",
"PERSON_TYPE_ID": "1",
"DATE_UPDATE": {},
"XML_ID": null,
"VERSION_1C": null,
"PROFILE_DATA": [
{
"PROFILE_ID": "51",
"PROFILE_USER_PROPS_ID": "12",
"PROFILE_ORDER_PROPS_ID": "2",
"PROFILE_NAME": "ФИО",
"PROFILE_VALUE": "Проверка Работ Профиля"
},
{
"PROFILE_ID": "52",
"PROFILE_USER_PROPS_ID": "12",
"PROFILE_ORDER_PROPS_ID": "3",
"PROFILE_NAME": "E-mail",
"PROFILE_VALUE": "test2@example.com"
},
{
"PROFILE_ID": "53",
"PROFILE_USER_PROPS_ID": "12",
"PROFILE_ORDER_PROPS_ID": "4",
"PROFILE_NAME": "Телефон",
"PROFILE_VALUE": "+79370000000"
}
]
}
]
Результаты представлены в json формате.