如何在 Laravel Eloquent 中编写此 MySQL 查询?

How do I write this MySQL query in Laravel Eloquent?

我要运行

SELECT count(DISTINCT `ASIN`) as results FROM crawl_results WHERE user_id = 1 and website_id = 1

并期望得到 136 个结果

但是

`select('ASIN')->where('user_id', Auth::id())->where('website_id', $scanID)->distinct()->count();` 

returns 814table 中的所有行

`select('ASIN')->where('user_id', Auth::id())->where('website_id', $scanID)->groupby('ASIN')->count();` 

returns 8 个结果

你应该这样写查询:

DB::table('crawl_results')
->select(DB::raw('COUNT(DISTINCT(ASIN)) as results')
->where('user_id', 1)
->where('website_id',1)
->get();

首先创建模型并在需要的地方使用下面的代码

 use App\CrawlResult;

CrawlResult::where('user_id',1)->where('website_id',1)->distinct('ASIN')->count('ASIN');