У меня есть небольшой фрагмент кода, который я пытался обернуть вокруг себя несколько часов.
Я пытаюсь создать запрос, который извлекает некоторые элементы и в конце группирует их по селектору.
Я попытаюсь продемонстрировать: я опрашиваю всех членов моей организации. Каждый член является членом «отдела», и в каждом отделе может быть несколько членов, но только один отдел для каждого члена.
Итак, я создал запрос для выбора всех членов моей организационной группы по отделам.
Когда я показываю его с помощью простого foreach($my_query as $q) …
, я хочу вывести $q->department_name
, но только один раз для этого отдела. Прямо сейчас он говорит «Маркетинг» для всех пяти членов, а затем он меняется на «HR» для всех этих членов. Я пробовал несколько различных методов, таких как array_unique, создавая функцию, которая проверяет строку, чтобы увидеть, является ли она такой же и другой, но без результата.
Я мог бы создать два цикла foreach, но если это вообще невозможно, я бы предпочел, потому что два цикла foreach повлияют на производительность.
Буду очень признателен за любую помощь или предложение.
Sinerely
- Местика
--- Отредактировано ---
Кстати, мой запрос выглядит так:
SELECT *
FROM wp_term_taxonomy AS cat_term_taxonomy
INNER JOIN wp_terms AS cat_terms ON cat_term_taxonomy.term_id = cat_terms.term_id
INNER JOIN wp_term_relationships AS cat_term_relationships ON cat_term_taxonomy.term_taxonomy_id = cat_term_relationships.term_taxonomy_id
INNER JOIN wp_posts AS cat_posts ON cat_term_relationships.object_id = cat_posts.ID
INNER JOIN wp_postmeta AS meta ON cat_posts.ID = meta.post_id
WHERE cat_posts.post_status = 'publish'
AND meta.meta_key = 'active'
AND meta.meta_value = 'active'
AND cat_posts.post_type = 'member'
AND cat_term_taxonomy.taxonomy = 'deparment'
GROUP BY cat_terms.slug, cat_term_relationships.object_id