我的脚本工作正常,但显示不正确。以这段代码为例,我有 5 个人,其中大多数人的伤害为 %。
$user->bestaimers = DB::table('csstats AS cs')
>leftJoin('users AS u', DB::raw('BINARY u.steam_id'), '=', DB::raw('BINARY cs.steamid'))
->select("cs.*", "u.*")
->orderBy('cs.h_1', 'desc')->orderBy('hits', 'desc')
->take(5)
->get('');
我的观点:
@foreach ($user->bestaimers as $bestaimer)
<?php echo number_format($bestaimer->h_1 / $bestaimer->hits * 100,2); ?>%
@endforeach
但它显示的是第一个拥有最多全命中的玩家。我需要按 $bestaimer->h_1/$bestaimer->hits * 100,2
进行订购有什么帮助吗?
最佳答案
也许你应该尝试在sql中选择这个$bestaimer->h_1/$bestaimer->hits * 100,2,然后按这个值排序?
类似这样的事情:
SELECT cs.*, u.*, (ROUND(cs.h_1/hits*100,2)) as val FROM csstats as cs
LEFT JOIN 用户作为 u ON u.steam_id = cs.steamid
按 val DESC 排序
限制 5
关于php - Laravel 在 Controller 中划分并在 Blade 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51836800/