Koe*_*nde 2 php mysql laravel eloquent laravel-query-builder
我有一个名为errors以下字段的表:id, website_id, message & level.我正在尝试获得错误最多的前5个网站.
询问
SELECT website_id, COUNT(id) AS 'errors'
FROM errors GROUP BY website_id ORDER BY COUNT(*) DESC
我不知道如何使用Laravel Query Builder和Eloquent来做到这一点.谁能帮我吗?
数据库截图
您可以使用该DB::raw("{query}")函数执行原始查询.
但是如果你想使用雄辩,你将不得不使用关系并查询这些.例如,如果您的Website模型与模型有关系Error,则可以执行以下操作以获取具有最多错误的网站模型:
Website::withCount('errors') // Count the errors
->orderBy('errors_count', 'desc') // Order by the error count
->take(5) // Take the first 5
->get();
Run Code Online (Sandbox Code Playgroud)