Laravel 5.4 - 数据库查询帮助

时间:2017-12-28 15:23:10

标签: mysql laravel-5

我目前正在尝试编写一个查询来显示7天的日志值,这些日志会自动进入我的表格,例如以下数据。

DB Structure

所以我想要的是选择帖子中的7个最新条目(例如id 465-471),然后一起计算它们并吐出数字,例如4353对于上述数据的最新内容。

我通过SQL编写的查询如下:

SELECT SUM(posts) as poststw FROM (SELECT posts FROM `stats_log` ORDER BY dateline DESC LIMIT 7) tl

这可以成功运行,并设法通过PhpMyAdmin正确显示计数。

Results from query

我尝试转换自己,并用Laravel格式编写,如下所示,但它只从第一行显示0(以防止查询失败时页面失败)。

$posts_this_week = 0;
$posts_this_weeks = DB::select(DB::raw('SELECT SUM(posts) as poststw FROM (SELECT posts FROM `stats_log` ORDER BY dateline DESC LIMIT 7) tl'));

任何人都可以帮我写出正确的查询,显示正确的数字,因为我现在心理空白!

1 个答案:

答案 0 :(得分:0)

$posts_this_week = DB::table('stats_log')
                   ->orderBy('dateline','desc')
                   ->take(7)
                   ->get()
                   ->sum('posts');