Laravel Model等效查询

时间:2018-06-17 16:08:28

标签: php laravel

可能是以下SQL查询的等效查询?

select intro_home_use, count(*) from details group by intro_home_use;

我使用DB facade实现了我所需要的东西

DB::select('select intro_home_use, count(*) from details group by intro_home_use');

刚开始在laravel工作。 谢谢!

2 个答案:

答案 0 :(得分:4)

你可以试试这个:

$result = Details::select('intro_home_use', \DB::raw('count(*) as count'))
          ->groupBy('intro_home_use')
          ->get();

这会给你这样的东西:

[
    {
        intro_home_use: "xxx",
        count: 1
    },
    {
        intro_home_use: "yyy",
        count: 2
    }
]

答案 1 :(得分:2)

假设您有详细模型设置,您可以执行以下操作:

Details::select('intro_home_use')->groupBy('intro_home_use')->count();

看看https://laravel.com/docs/5.6/queries

编辑:正如@The_Alpha指出的那样,这将不会返回你所追求的。他们的回答是正确的。