Есть БД mysql есть таблица пользователей users - id, name есть таблица

с логинами logins - id, login, pass, user_id

у пользователя может быть несколько логинов

надо получить агрегацию пользователей -
[
'id' => $id,
'name' => $name,
'logins' => [
'login' => $login,
'pass' => $pass,
],
]

как такое правильно сделать?
1) запросить всех пользователей, затем идти по массиву пользователей, запрашивать и выставлять для каждого его логины (боюсь задрочить БД)
2) запросить всех пользователей, запросить все логины, 'склеить' 2 массива ()
3) запросить джойном, получив в результирующем массиве одного пользователя несколько раз и затем преобразовывать этот массив к нужному виду

1 ответов

10 просмотров

У вас пароли в открытом виде в бд хранятся? Делайте через джойн id=user_id и группировку по id после чего в один проход парсите result set в мапу

Похожие вопросы

Обсуждают сегодня

Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
40 тысяч в час / 3600 = 11,11 в секунду... Вам точно нужна очередь? (я просто не знаю "контекста") Такое количество запросов любое приложение замечательно "прожует" и не попер...
Igor Mitin
5
Всем салют, заинтересовался odoo, хотел бы поинтересоваться на счёт этой ERP , прогеры которые работают над проектами вы используете odoo как серверную платформу работая с RES...
⚔️
8
А как асинхрон иначе реализован? Пардон:)
Ivan K 🏄🏻‍♂️
7
вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
25
Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
Друзья, за кем?
Magic
12
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Это что теперь, любой бот сможет принимать платежи без ебли с юр лицами?
Lencore
8
ого, спасибо Никит, ты как всегда кладезь нужной инфы! Сейчас пойду копаться, а мне релиз создать как и версию самого плагина? типа 1.0.8?
Alex Blaze
9
Карта сайта