【发布时间】:2022-11-17 01:43:24
【问题描述】:
我正在尝试使用 Eloquent 查询从每个类别中获取前 5 条记录,类似于如下示例 MySQL 查询;
SELECT *
FROM (
SELECT *, ROW_NUMBER() OVER (PARTITION BY secid ORDER BY created_at DESC) AS n
FROM trees
) AS x
WHERE n <= 5
这是我试过的
$q= Tree::select(['*',DB::raw("ROW_NUMBER() OVER (PARTITION BY secid ORDER BY created_at DESC) AS n")])
->WhereRaw(['n','<=','5'])
->选择();
我收到“数组到字符串转换”错误
我试过了
->WhereRaw('n','<=','5')
并得到
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '5 n order by `trees`.`created_at` desc' at line 1
谁能指出我在这里做错了什么? 任何帮助将不胜感激。
【问题讨论】: