Mysql Laravel 5.6如何从列中获取重复数据
我要打印每个Mysql Laravel 5.6如何从列中获取重复数据,mysql,laravel,Mysql,Laravel,我要打印每个主题id的计数 show.blade.php @foreach($questions as $question) {{ $question->topic_id }} @endforeach ExamsController@index $topics = Topic::all(); return view('exams.show', compact('topics','questions')); 只需要对重复数据进行计数和打印 | id | topic_id | | ---|
主题id
的计数
show.blade.php
@foreach($questions as $question)
{{ $question->topic_id }}
@endforeach
ExamsController@index
$topics = Topic::all();
return view('exams.show', compact('topics','questions'));
只需要对重复数据进行计数和打印
| id | topic_id |
| ---|:--------:|
| 1 | 4 |
| 2 | 9 |
| 3 | 5 |
| 4 | 5 |
| 5 | 2 |
| 6 | 4 |
| 7 | 5 |
我想要的结果是每个主题id重复的计数。就像
| id | topic_id |
| ---|:--------:|
| 1 | 4 |
| 6 | 4 |
2
| id | topic_id |
| ---|:--------:|
| 3 | 5 |
| 4 | 5 |
| 7 | 5 |
count=3我不确定您所说的重复数据是什么意思,但我相信您正在寻找一个独特的方法 distinct方法允许您强制查询返回distinct 结果
也许您可以使用laravel上的收集功能按主题id对数据进行分组
$topic = Topic::all();
$topicArray = $topic->groupBy('topic_id')->toArray();
在您的视图中,您只需使用$topicArray来显示数据并计算重复数据
@foreach ($topicArray as $key => $value)
@foreach ($value as $key2 => $value2)
| {{ $value2['id'] }} | {{ $value2['topic_id'] }} |<br>
@endforeach
count {{ count($value) }}<br><br>
@endforeach
@foreach($topicArray as$key=>$value)
@foreach($key2=>$value2的值)
|{{$value2['id']}}{{$value2['topic_id']}}}}{br>
@endforeach
计数{count($value)}}
@endforeach
您可以利用
在你看来,你可以做到
@foreach ($duplicates as $duplicate)
{{ $duplicate->topic_id }} - {{ $duplicate->total }}
@endforeach
先生如何打印每个
主题id
像主题id 4=2
主题id 5=3
。谢谢先生。它也很好用。现在我正在努力理解你的代码。谢谢你的帮助。
$duplicates = Topic::selectRaw("count('id') as total, topic_id")
->groupBy('topic_id')
->get();
// pass the duplicates along with other variables to the view
return view('exams.show', compact('topics','questions', 'duplicates'));
@foreach ($duplicates as $duplicate)
{{ $duplicate->topic_id }} - {{ $duplicate->total }}
@endforeach