将我的数据库原始转换为Laravel Eloquent模型

时间:2018-03-19 06:32:55

标签: php database laravel eloquent

我有一个教程的代码,我想知道如何将它转换为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');

2 个答案:

答案 0 :(得分:0)

如果您只想获得列的总和,可以调用sum方法而不是get这样

DiraChatLog::sum('yourColumn'); // will return the only sum

检查enter link description here

中的聚合方法

答案 1 :(得分:0)

此示例取自可在此处找到的laravel文档:https://laravel.com/docs/5.6/eloquent

$count = App\Flight::where('active', 1)->count();

在此示例中,App \ Flight是已连接到表的模型。

where方法非常明显,我们希望得到列活动为1的数据。

count方法也很明显,它允许我们计算所有数据并返回行数。