如何使用php在我的表上显示唯一的数据?
使用此代码:如何使用php在我的表上显示唯一的数据?,php,mysql,laravel,Php,Mysql,Laravel,使用此代码: <?php $contacts = Group::where('account_id','=', Auth::user()->account->account_id)->get(); ?> @if ( count( $data['contacts'] ) > 0 ) @foreach( $data['contacts'] as $contact ) <tr> <?php
<?php $contacts = Group::where('account_id','=', Auth::user()->account->account_id)->get(); ?>
@if ( count( $data['contacts'] ) > 0 )
@foreach( $data['contacts'] as $contact )
<tr>
<?php $ucontact = \App\User::find($contact->user_id)?>
<td>{{$ucontact->group->account_name}}</td>
<td>{{$contact->event_name}}</td>
@endforeach
@else
@如果(计数($data['contacts'])>0)
@foreach($data['contacts']作为$contact)
{{$ucontact->group->account\u name}
{{$contact->event_name}
@endforeach
@否则
帮助我在表格上显示数据。问题是它显示重复的数据。可以只显示唯一的吗?例如: 帐户名 事件名称
帐户1 事件1
帐户2 事件2
帐户1 事件3
帐户1显示两次。我需要隐藏表中的重复数据。使用
按帐户分组\u id
:-
Group::where('account_id','=', Auth::user()->account->account_id)->groupBy('account_id')->get()
您可以这样尝试:
$contacts->unique( array('account_name','event_name') );
您需要在查询中添加GROUPBY子句 下面是示例代码
<?php
$contacts = Group::where('account_id', Auth::user()->account->account_id)->groupBy('account_id')->get();
?>
使用不同的。但您显示的输出更正确,因为如果一个帐户与更多活动相关,那么它必须显示所有活动,因为如果一个帐户涉及更多活动,而您只显示一个活动,那么它将导致歧义和未来errors@Anant这是对的。但是当你因为什么原因不能改变查询时。数组\u unique可以帮助您了解一个更好的方法是显示相同id的逗号分隔事件为什么不使用groupBy帐户\u id非常感谢我使用了groupBy,但仍然感谢您的回答。我很感激,非常感谢