我有一个groupBy数据正在运行,但是我想知道如何获取嵌套记录的行ID?
来自我的索引函数
public function index(Request $request)
{
$collectorBorrowers = CollectorMember::get()
->groupBy('collector.name');
}
return view('dashboard.collector-members.index', compact('collectorBorrowers'));
这是我的collector_member的桌子
这是我在刀片上显示groupBy的方式
@foreach ($collectorBorrowers as $collector => $users_list)
<tr>
<th colspan="5"
style="background-color: #F7F7F7">{{ $collector }}: ({{ $users_list->count() }} borrowers)</th>
</tr>
@foreach ($users_list as $user)
<tr>
<td><div class="profile-side-img rounded-circle" style="background:url({{ url('/storage/avatars/'.$user->borrower['avatar']) }});"><br/></div></td>
<td><a href="/dashboard/users/{{ $user->borrower['id'] }}" target="_blank">{{ $user->borrower['name'] }}</a></td>
<td>{{ $user->borrower['email'] }}</td>
<td>+{{ $user->borrower['country_code'] }}{{ $user->borrower['phone_number'] }}</td>
<td>
@if ($user->borrower['email_verified_at'])
<button class="btn btn-success btn-sm trans" data-toggle="tooltip" title="Email Verified"><i class="fas fa-at"></i></button>
@else
<button class="btn btn-light btn-sm trans"><i class="fas fa-at"></i></button>
@endif
@if ($user->borrower['phone_verified_at'])
<button class="btn btn-success btn-sm trans" data-toggle="tooltip" title="Phone Number Verified"><i class="fas fa-mobile-alt"></i></button>
@else
<button class="btn btn-light btn-sm trans"><i class="fas fa-mobile-alt"></i></button>
@endif
</td>
<td></td>
<td>
{!! Form::open([
'method'=>'DELETE',
'url' => ['/dashboard/collector-members', $users_list],
'style' => 'display:inline'
]) !!}
{!! Form::button('<i class="fas fa-trash-alt" aria-hidden="true"></i>', array(
'type' => 'submit',
'class' => 'btn btn-custom-danger btn-sm trans',
'title' => 'Remove user',
'onclick'=>'return confirm("Confirm delete?")',
'data-toggle' => 'tooltip',
'data-original-title' => 'Edit'
)) !!}
{!! Form::close() !!}
</td>
</tr>
{{-- {{dd($users_list)}} --}}
@endforeach
@endforeach
这给了我这个输出
一切都很好,我唯一关心的是来自collector_member的表的行ID,以便我可以从特定的收集器中删除记录。
可以吗?谢谢!
尝试在分组之前按行ID进行键收集:
https://laravel.com/docs/5.8/collections#method-keyby
$collectorBorrowers = CollectorMember::get()
->keyBy('id')
->groupBy('collector.name');
然后在您看来,遍历这样的组:
@foreach ($users_list as $key => $user)
...
{!! Form::open([
'method'=>'DELETE',
'url' => ['/dashboard/collector-members', $key],
]) !!}
...
@endforeach
P.S。避免使用Form Helper,因为它已被弃用。