Примечание: я отредактировал вопрос, чтобы лучше отразить то, что я и после. Я подозреваю, что мне нужен подзадность внутри json_agg < /code>, который выводит объекты даты, сгруппированные по дате, но я понятия не имею, как это сделать. data] < /li>
Assets Tagger [id (первичный ключ), userid, date_code, assetid, task1, task1] < /li>
< /ul>
Taggers - это небольшая подмножество пользователей, которые я хочу. Каждый теггер будет иметь несколько строк активов, присвоенных им.Array
(
[id] => 1
[userid] => 519560
[timezone] => -7
[fname] => Gregory
[status] => 99
[assigned_titles] => Array (
[{"202307" : [ [1, 1, 1],[777, 1, 0]]}],
[{"202306" : [[2, 1, 1], [543, 0, 1]]}]
)
)
Таким образом, назначенный_titles должен быть массивом объектов с ключом date_code . Значение каждого объекта должно быть массивом массивов.foreach($output_array as $o) {
// access the outer data. Here the order doesn't matter
for($i = 0; $i
[assigned_titles] => [{"202307" : [1, 1, 1]}, {"202306" : [2, 1, 1]}, {"202307" : [777, 1, 1]}]
< /code>
$query = 'json_agg(
json_build_object(
frl_tagger_assets.date_code, json_build_array(
frl_tagger_assets.title_id,frl_tagger_assets.breakdown,frl_tagger_assets.breakdown
)
)
) as assigned_titles ';
$this->db
->select('frl_taggers.*, frl_users.userid, frl_users.fname, frl_users.lname, frl_users.status, '.$query)
->from('frl_taggers')
->join('frl_tagger_assets', 'frl_taggers.userid = frl_tagger_assets.userid', 'left')
->join('frl_users', 'frl_taggers.userid = frl_users.userid', 'left')
->where('frl_users.status >= 80',NULL, FALSE )
->where('date_code >='.date("Ym",strtotime("-1 month")), NULL, FALSE)
->group_by('frl_taggers.id')
->group_by('frl_users.userid');
$query = $this->db->get();
$res = $query->result_array();
Подробнее здесь: https://stackoverflow.com/questions/767 ... ined-table
CodeIgniter Postgres JSON Array выбранных строк из соединенной таблицы ⇐ Php
Кемеровские программисты php общаются здесь
1752733262
Anonymous
Примечание: я отредактировал вопрос, чтобы лучше отразить то, что я и после. Я подозреваю, что мне нужен подзадность внутри json_agg < /code>, который выводит объекты даты, сгруппированные по дате, но я понятия не имею, как это сделать. data] < /li>
Assets Tagger [id (первичный ключ), userid, date_code, assetid, task1, task1] < /li>
< /ul>
Taggers - это небольшая подмножество пользователей, которые я хочу. Каждый теггер будет иметь несколько строк активов, присвоенных им.Array
(
[id] => 1
[userid] => 519560
[timezone] => -7
[fname] => Gregory
[status] => 99
[assigned_titles] => Array (
[{"202307" : [ [1, 1, 1],[777, 1, 0]]}],
[{"202306" : [[2, 1, 1], [543, 0, 1]]}]
)
)
Таким образом, назначенный_titles должен быть массивом объектов с ключом date_code . Значение каждого объекта должно быть массивом массивов.foreach($output_array as $o) {
// access the outer data. Here the order doesn't matter
for($i = 0; $i
[assigned_titles] => [{"202307" : [1, 1, 1]}, {"202306" : [2, 1, 1]}, {"202307" : [777, 1, 1]}]
< /code>
$query = 'json_agg(
json_build_object(
frl_tagger_assets.date_code, json_build_array(
frl_tagger_assets.title_id,frl_tagger_assets.breakdown,frl_tagger_assets.breakdown
)
)
) as assigned_titles ';
$this->db
->select('frl_taggers.*, frl_users.userid, frl_users.fname, frl_users.lname, frl_users.status, '.$query)
->from('frl_taggers')
->join('frl_tagger_assets', 'frl_taggers.userid = frl_tagger_assets.userid', 'left')
->join('frl_users', 'frl_taggers.userid = frl_users.userid', 'left')
->where('frl_users.status >= 80',NULL, FALSE )
->where('date_code >='.date("Ym",strtotime("-1 month")), NULL, FALSE)
->group_by('frl_taggers.id')
->group_by('frl_users.userid');
$query = $this->db->get();
$res = $query->result_array();
Подробнее здесь: [url]https://stackoverflow.com/questions/76773432/codeigniter-postgres-json-array-of-selected-rows-from-a-joined-table[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия