Цикл и сортировка результатов без дублирования - PullRequest
1 голос
/ 09 июня 2019

Можете ли вы предложить мне, каким будет хороший способ конвертировать результат без дублирования?

$numbers = array ('1', '5', '10');
 foreach ($numbers as $number){
  $query[] = $this->db->query("SELECT name, country FROM name WHERE id= '" . (int)$number .'"")
 }

Результат

 Array (
  Array (
   name = ivan
   country = en
  )
  Array(
   name = Peter
   country = en
  )
  Array (
   name = sisi's
   country = en
  )
 )

Как мне отсортировать результат вот так

  Array(
   country = en
   name = array (
     sisi's
     Peter
     Ivan
   )
 )

1 Ответ

0 голосов
/ 09 июня 2019

Вам нужно изменить свой запрос.

$numbers = array ('1', '5', '10');

$sql = "SELECT DISTINCT country,
GROUP_CONCAT(name) AS name
FROM name 
WHERE id IN(".implode(',',$numbers).")
GROUP BY country";

$this->db->query($sql);

Чем после получения результата вы можете преобразовать имена строк в массив с помощью функции разнесения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...