微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel Blade Foreach 只显示 10 个项目

如何解决Laravel Blade Foreach 只显示 10 个项目

这将从数据库中加载 12 名候选人。

()

$candidates = Candidate::all()->where('vacancy_id',$id); 返回 count($candidates)

但是在我的 foreach 循环中。比如

12

然而 $sum = 0; @foreach($candidates as $candidate) $sum +=1; @endforeach 返回 $sum 而不是 10

有什么想法吗?

Laravel 8 PHP 8

解决方法

如果您尝试打印 10 而不是 12 的原因是为了可以分页,您应该使用 Laravel 的分页器:

$candidates = Candidate::all()->where('vacancy_id',$id)->paginate(10);

,

试试这个:

@foreach($candidates as $key => $candidate)
    @if($key < 10)  
        {{$candidate->value}}
    @endif
@endforeach
,

你的循环有问题,如果你使用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
,

为什么不直接做?

@foreach($candidates as $team)
    {{$loop->iteration}}
@endforeach

$loop->iteration:当前循环迭代(从 1 开始)。

此处有更多信息:https://laravel.com/docs/8.x/blade

,

试试这个

$candidates = Candidate::where('vacancy_id',$id)->get();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。