计算总条目数并在Laravel中创建一个数字列表

时间:2016-11-10 18:22:21

标签: php mysql laravel count

我试图对我正在进行的项目进行排序,我希望得到我的数据库的总条目,然后选择总条目,但按1排序25让我们说..

我的控制器看起来像这样:

$users = User::orderBY('sort', 'DESC')->paginate(10);
return view('admin.user.index', compact('users'));

我的观点如下:

<select class="form-control" id="sort" name="sort">
@foreach($users as $user)
<option value="0">0</option>
@endforeach
</select>

我们说我有25个用户。我希望值中有25个选项,从1到25,因为我无法使用项ID ...因为它们可以被删除。

2 个答案:

答案 0 :(得分:1)

您可以尝试:

<select class="form-control" id="sort" name="sort">
    @foreach($users as $key => $user)
        <option value="{{ $key + 1 }}">
            {{ $key + 1 }}
        </option>
    @endforeach
</select>

答案 1 :(得分:0)

所以你想将选项的值从1设置为总用户数?您只需更新foreach块即可。

在您的控制器上,获取用户记录:

$users = User::orderBy('sort', 'desc')->get();

return view('admin.user.index', compact('users'));

并更新您的观点:

<select class="form-control" id="sort" name="sort">
    @foreach($users as $index => $user)
        <option value="{{ $index + 1 }}">{{ $index + 1 }}</option>
    @endforeach
</select>

这样,您可以显示一个选项,其值从1到用户总数。

注意,如果您在查看时未真正使用任何用户的属性,则只需获取用户总数。

在您的控制器上,获取用户总数:

$totalUsers = App\Models\User::orderBy('id', 'desc')->count();

return view('test', compact('totalUsers'));

然后像这样更新您的视图:

<select class="form-control" id="sort" name="sort">
    @for ($i = 1; $i <= $totalUsers; $i++)
        <option value="{{ $i }}">{{ $i }}</option>
    @endfor
</select>

希望你回答这个问题。