@Bezpaniki

Как сформировать одномерный из многомерного массива из столбцов MySQL с одинаковыми ключами массива?

Добрый день,бьюсь над такой задачей,буду благодарен за ответ.

Имеем базу банных, с таблицами users и leads, в первой таблице хранятся имена менеджеров и их id(не инкремент), во второй таблице хранятся все сделки проведённые этими менеджерами.

----------------------------users------------------------
| id_users | id | name | last_name | login |
-----------------------------------------------------------
1 | 738687| Михаил | Иванов | qwwee |
-------------------------------------------------------------
2 |817770 | Дмитрий | Петров | refhrter |
Ну и так далее, скажем пользователей 6.

----------------------------------------leads---------------------------------------------------------
| id_lead | id | name | date_create | responsible_user_id | price | date_cloce |
-------------------------------------------------------------------------------------------------------
1 | 704077| Ваш дом | 1463328190 | 738687| | 47474 | 0 |
-------------------------------------------------------------------------------------------------------
3 | 333333| Наш сад | 1484204113 | 817770 | | 44444 | 1485419792|
ну и так далее
Ключ это responsible_user_id и id из таблицы users. формирую запрос
$test= $qwerty->TransferToTheDatabase->getRows(('SELECT users.name , leads.date_close, leads.name FROM users INNER JOIN leads ORDER BY users.name')); название класса и переменная были изменены=)

После этого запроса выводится многомерный массив отсортированный по именам, но в него не попадают имея сделки, не понятно почему или же я коряво запрос составил,как только убираешь из запроса users.name , то появляются название сделки.
дальше я пытаюсь собрать всё в один одномерный массив ,что бы потом его сериализировать и отправить ребятам,которые пилят дашборд.

$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($test));

function addingInArray(\Traversable $iterator, $use_keys = false) {
$array = array();
foreach ($iterator as $key => $value) {
if ($value instanceof \Iterator) {
$value = iterator_to_array_deep($value, $use_keys);
}
if ($use_keys ) {
$array[] = $value;
}
}
return $array;
}
так -то формирует массив сбрасывая ключи и набивая их значениями,что крайне не удобно для подсчета кол-во сделок пользователя, если поставить $use_keys = true, то выведет всех менеджеров и одну их сделку.
Вопрос такой можно ли получить массив вида Имя менеджера и все его сделки с датой закрытия?
Возможно не корректно поставил вопрос,но все же буду благодарен за помощь
  • Вопрос задан
  • 275 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Bezpaniki Автор вопроса
Ели что-то не понятно,то поясню.
Ответ написан
Комментировать
gromdron
@gromdron
Работаю с Bitrix24
Эм.. то что вы поменяли название, это не значит что код стал понятнее.
Попробуйте вывести результат запроса напрямую (выполнить его в БД) или задать явные имена столбцов: SELECT users.name as username , leads.date_close as closed_at, leads.name as leadname FROM users INNER JOIN leads ORDER BY users.name'
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Ведисофт Екатеринбург
от 25 000 ₽
YCLIENTS Москва
от 200 000 до 350 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
06 мая 2024, в 10:17
15000 руб./за проект
06 мая 2024, в 10:02
3000 руб./за проект