我在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的表现如此与众不同?我该如何解决?
答案 0 :(得分:0)
你可以尝试 array_chunk() laravel方法。
答案 1 :(得分:0)
Model::take(10);
这是一个模型方法,尝试在eloquent查询中使用它,而不是从查询返回的对象。
User::orderBy('user_referrals', 'DESC')->take(10)->get();