Laravel Distinct Count

sai*_*can 18 php database laravel eloquent

有没有办法使用laravel使这个查询工作?DB :: raw或Eloquent用法无关紧要.

SELECT count(DISTINCT name) FROM tablename;
Run Code Online (Sandbox Code Playgroud)

这是我尝试但无法获得正确输出的内容:

EloquentTableName::select(DB::raw('count(DISTINCT name) as name_count'))->get();
Run Code Online (Sandbox Code Playgroud)

这会返回这样的东西,我想解决这个问题:

([{"name_count":"15"}])
Run Code Online (Sandbox Code Playgroud)

我只想得到15分.

Gou*_*lfy 45

你可以用这种方式简单地用get替换get:

$count = DB::table('tablename')->count(DB::raw('DISTINCT name'));
Run Code Online (Sandbox Code Playgroud)

也可以这样做:

DB::table('tablename')->distinct('name')->count('name');
Run Code Online (Sandbox Code Playgroud)


Ali*_*ane 5

您可以简单地执行以下操作:

Tablename::distinct()->count('name');
Run Code Online (Sandbox Code Playgroud)


小智 5

DB::table('tablename')->distinct()->count('name');
Run Code Online (Sandbox Code Playgroud)

是正确答案。

- >不同的(“名称”) 工作Laravel。