У меня есть массив объектов, полученных из SQL-запроса Larvel:
$c=[{hashtag_id: 5}, {hashtag_id: 5}, {hashtag_id: 13}, {hashtag_id: 2}, {hashtag_id: 13},…]
0: {hashtag_id: 5}
1: {hashtag_id: 5}
2: {hashtag_id: 13}
3: {hashtag_id: 2}
4: {hashtag_id: 13}
5: {hashtag_id: 5}
6: {hashtag_id: 13}
7: {hashtag_id: 5}
8: {hashtag_id: 12}
9: {hashtag_id: 13}
10: {hashtag_id: 2}
11: {hashtag_id: 12}
12: {hashtag_id: 13}
13: {hashtag_id: 5}
14: {hashtag_id: 12}
15: {hashtag_id: 13}
Я пытаюсь посчитать через массив и взять счетчик для каждого hashtag_id.
Ожидаемый результат:
hashtag_id: 2 {2};
hashtag_id: 5 {5};
hashtag_id: 12 {3};
hashtag_id:13 {6};
ИЛИ ЖЕ
ожидаемый результат:
hashtag_id: 2 count: 2;
hashtag_id: 5 count: 5;
hashtag_id:12 count: 3;
hashtag_id:13 count: 5;
что будет лучшим способом сделать это?
Мой код:
for($j=0;$j<count($result2);$j++){
$all2 = HashtagFollow::select('hashtag_id')->where('user_id', $result2[$j]->user_id)->whereNotIn('hashtag_id', $all)->orderBy('hashtag_id')->get();
array_push($c, $all2);
}
$c1 = array_flatten($c);
$d = (array_count_values(array_column($c1, 'hashtag_id')));
return ($d);
Задача ещё не решена.
Других решений пока нет …