Laravel Blade Foreach 只显示 10 个项目
Laravel Blade Foreach only shows 10 items
这将从数据库中加载 12 个候选人。
$candidates = Candidate::all()->where('vacancy_id', $id);
正在做 count($candidates)
returns 12
但是在我的 foreach 循环中。比如
$sum = 0;
@foreach($candidates as $candidate)
$sum +=1;
@endforeach
但 $sum
returns 10
而不是 12
.
有什么想法吗?
Laravel 8
PHP8
为什么不直接做呢?
@foreach($candidates as $team)
{{$loop->iteration}}
@endforeach
$loop->iteration:当前循环迭代(从1开始)。
这里有更多信息:https://laravel.com/docs/8.x/blade。
试试这个
$candidates = Candidate::where('vacancy_id', $id)->get();
试试这个:
@foreach($candidates as $key => $candidate)
@if($key < 10)
{{$candidate->value}}
@endif
@endforeach
如果您尝试打印 10 而不是 12 的原因是您可以分页,您应该使用 Laravel 的分页器:
$candidates = Candidate::all()->where('vacancy_id', $id)->paginate(10);
你的循环有问题,如果你用all()
就不用用where
条件,where条件用get()
$candidates = Candidate::where('vacancy_id', $id)->get();
你的循环
@foreach($candidates AS $candidate_key => $candidate_value)
@if($candidate_key <= 9)
{{ $candidate_value->vacancy_id }}
@endif
@endforeach
这将从数据库中加载 12 个候选人。
$candidates = Candidate::all()->where('vacancy_id', $id);
正在做 count($candidates)
returns 12
但是在我的 foreach 循环中。比如
$sum = 0;
@foreach($candidates as $candidate)
$sum +=1;
@endforeach
但 $sum
returns 10
而不是 12
.
有什么想法吗?
Laravel 8 PHP8
为什么不直接做呢?
@foreach($candidates as $team)
{{$loop->iteration}}
@endforeach
$loop->iteration:当前循环迭代(从1开始)。
这里有更多信息:https://laravel.com/docs/8.x/blade。
试试这个
$candidates = Candidate::where('vacancy_id', $id)->get();
试试这个:
@foreach($candidates as $key => $candidate)
@if($key < 10)
{{$candidate->value}}
@endif
@endforeach
如果您尝试打印 10 而不是 12 的原因是您可以分页,您应该使用 Laravel 的分页器:
$candidates = Candidate::all()->where('vacancy_id', $id)->paginate(10);
你的循环有问题,如果你用all()
就不用用where
条件,where条件用get()
$candidates = Candidate::where('vacancy_id', $id)->get();
你的循环
@foreach($candidates AS $candidate_key => $candidate_value)
@if($candidate_key <= 9)
{{ $candidate_value->vacancy_id }}
@endif
@endforeach