Laravel 查询生成器到 Eloquent 生成器

Laravel Query Builder to Eloquent Builder

如何将以下 Laravel 数据库查询生成器转换为 Eloquent?

是否可以做到LaravelEloquent?

$reports = DB::table('clicks')
            ->select('offer_name', DB::raw('offer_name as offers, COUNT(id) as clicks, SUM(IF(status = 1, 1, 0)) as lead, SUM(IF(status=1, payout, 0)) as earnings'))
            ->groupBy('offer_name')
            ->get();

您可以在 DB::table('clicks') 上更改为 Eloquent Builder。 selectgroupBy 与 Eloquent 相同。

现在使用命令制作点击模型。

php artisan make:model Click

它将在 App 文件夹中创建 Click.php 文件。就像我在下面提到的那样。

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Click extends Model
{
    protected $table = 'clicks';

}

现在您的查询如下所示。

$reports = \App\Click::select('offer_name', DB::raw('offer_name as offers, COUNT(id) as clicks, SUM(IF(status = 1, 1, 0)) as lead, SUM(IF(status=1, payout, 0)) as earnings'))
            ->groupBy('offer_name')
            ->get();