【问题标题】:Laravel - DB:rawLaravel - DB:raw
【发布时间】:2020-09-14 20:16:40
【问题描述】:

我需要在 Laravel 中设置此查询,并且我认为 DB:Raw 是最好的选择,我如何在 Eloquent 中设置此查询或 DB:raw?

SELECT      PROP_TYPE,
            concat(round(avg( prop_exclusive = 'Exclusiva' ) * 100, 0),'%') as Exclusiva,
            concat(round(avg( prop_exclusive = 'No Exclusiva' ) * 100, 0),'%') as No_Exclusiva
FROM        PROPERTIES
WHERE       PROP_MARKET_CENTER = 'KW' AND
            PROP_EXCLUSIVE IS NOT NULL
GROUP BY    PROP_TYPE
ORDER BY    PROP_TYPE ASC

问候!

【问题讨论】:

    标签: laravel laravel-5 eloquent


    【解决方案1】:

    我想你有一个类似的Property.php 模型。

    class Property extends Model
    {
        $table = 'PROPERTIES';
    }
    

    从这里只需使用 DB::raw() 进行选择,其余的是 Eloquent QueryBuilder 的标准用法。

    $properties = Property::select(
            'PROP_TYPE',
            DB::raw("concat(round(avg( prop_exclusive = 'Exclusiva' ) * 100, 0),'%') as Exclusiva"),
            DB::raw("concat(round(avg( prop_exclusive = 'No Exclusiva' ) * 100, 0),'%') as No_Exclusiva")
        )
        ->where('PROP_MARKET_CENTER', 'KW')
        ->whereNotNull('PROP_EXCLUSIVE')
        ->groupBy('PROP_TYPE')
        ->orderBy('PROP_TYPE', 'asc');
    

    【讨论】:

      猜你喜欢
      • 2016-03-28
      • 2020-08-16
      • 2019-07-12
      • 2013-10-07
      • 1970-01-01
      • 1970-01-01
      • 2018-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多