我有一个教程的代码,我想知道如何将它转换为laravel eloquent方法,因为目前它是在DB原始方法。
// $match = DiraChatLog::select(DB::raw("SUM(numberofview) as count"))
// ->orderBy("created_at")
// ->groupBy(DB::raw("year(created_at)"))
// ->get()->toArray();
// $match = array_column($match, 'count');
// $missing = DiraChatLog::select(DB::raw("SUM(numberofclick) as count"))
// ->orderBy("created_at")
// ->groupBy(DB::raw("year(created_at)"))
// ->get()->toArray();
// $missing = array_column($missing, 'count');
// $noAnswer = DiraChatLog::select(DB::raw("SUM(numberofclick) as count"))
// ->orderBy("created_at")
// ->groupBy(DB::raw("year(created_at)"))
// ->get()->toArray();
// $noAnswer = array_column($noAnswer, 'count');
答案 0 :(得分:0)
如果您只想获得列的总和,可以调用sum
方法而不是get
这样
DiraChatLog::sum('yourColumn'); // will return the only sum
中的聚合方法
答案 1 :(得分:0)
此示例取自可在此处找到的laravel文档:https://laravel.com/docs/5.6/eloquent
$count = App\Flight::where('active', 1)->count();
在此示例中,App \ Flight是已连接到表的模型。
where方法非常明显,我们希望得到列活动为1的数据。
count方法也很明显,它允许我们计算所有数据并返回行数。