Не рекомендуется группировать пользователей в javascript
, когда у вас достаточно контроля над данными в laravel
. Вы можете сгруппировать пользователей, используя groupBy laravel collection .
Я постараюсь привести вам пример.
В вашем контроллере при полученииusers
сгруппируйте его с полем username
.
$results = $collection->groupBy(function ($item, $key) { // Replace the $collection with whatever variable you have
return substr($item['username'], 0, 1);
});
И для этого необходимо иметь 2 для циклов.
@foreach($results as $char => $users)
<div data-letter="{{$char}}"><span>{{$char}}</span></div>
@foreach($users->contact as $user)
@if( $user->role[0]->pivot->role_id == 1 )
<li class="country">
<div class="products">
<h3 style="margin-bottom: 30px"><a href="{{ url('') }}/{{$user->username }}"><input class="my_div" id="{{$user->username}}" name="target_id[]" type="checkbox" value="{{ $user->id }}" <?php if(isset($replyMessage)){ if($replyMessage == $user->id) { echo "checked"; } } ?>><span class="name" style="padding: 5px" >{{ $user->username }}</a></h3>
</div>
</li>
@endif
@endforeach
@endforeach
Обратите внимание, что это только пример. Тем не менее, он должен работать нормально, как только вы отформатируете его в структуру данных. Laravel 5.2
имеет поддержку groupBy
.