【发布时间】:2019-05-21 05:36:28
【问题描述】:
是否可以使用以下 orderByRaw()。此 orderByRaw() 以与 whereIn() 相同的顺序返回产品。现在它只是 orderByRaw 订单中的结果,而不是 orderBy()。
是否可以结合这些:
$ids;
$placeholders = implode(',',array_fill(0, count($ids), '?'));
Product::whereIn('id', $ids)->orderByRaw("field(id,{$placeholders})" ,$ids)->orderBy('views', 'des')->orderBy('created_at' , 'des')->get();
编辑: 这是我在执行 toSql() 时得到的 SQL。为什么这不起作用?
选择 * 来自`产品` WHERE `id` IN (?, ?, ?, ?, ?) 按字段排序(id,?,?,?,?,?), `视图` DESC, `created_at` DESC【问题讨论】:
-
我想你想写'desc'而不是'des'。这可能是问题所在。
标签: mysql sql laravel eloquent sql-order-by