从laravel中的groupBy获取行ID

问题描述 投票:0回答:1

我有一个groupBy数据正在运行,但是我想知道如何获取嵌套记录的行ID?

来自我的索引函数

public function index(Request $request)
{
    $collectorBorrowers = CollectorMember::get()
      ->groupBy('collector.name');
}

return view('dashboard.collector-members.index', compact('collectorBorrowers'));

这是我的collector_member的桌子

enter image description here

这是我在刀片上显示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

这给了我这个输出

enter image description here

一切都很好,我唯一关心的是来自collector_member的表的行ID,以便我可以从特定的收集器中删除记录。

可以吗?谢谢!

laravel
1个回答
0
投票

尝试在分组之前按行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,因为它已被弃用。

Why are Form and HTML helpers deprecated in Laravel 5.x?

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.