Laravel:foreach没有正确交流?

时间:2018-03-03 19:48:56

标签: php laravel

我在Laravel中有2个查询,如此

$topRespects = UserStats::with('user')->orderBy('Respect', 'DESC')->get();

$topReferrals = User::orderBy('user_referrals', 'DESC')->get();

例如,此循环显示内容10次。

@foreach ($topReferrals->take(10) as $user)
@endforeach

如果我使用此循环,它只会显示8次?

@foreach ($topRespects->take(10) as $userStats)
    @foreach ($userStats->user as $user)

    @endforeach
@endforeach

如果我拿更多,比如12说,它显示9,如果我拿15它显示全10,但肯定它不应该这样工作?很难知道什么时候它会正常和不正确。

为什么循环2的表现如此与众不同?我该如何解决?

2 个答案:

答案 0 :(得分:0)

你可以尝试 array_chunk() laravel方法。

答案 1 :(得分:0)

Model::take(10);

这是一个模型方法,尝试在eloquent查询中使用它,而不是从查询返回的对象。

User::orderBy('user_referrals', 'DESC')->take(10)->get();
相关问题