php - 如何在 Laravel 中使用 order by array 选择或排序

标签 php mysql sql laravel session-variables

$return=DB::table('products')
                ->select('products.*', 'images.address')
                ->leftJoin("images",function($join){
                            $join->on('products.id', '=', 'images.product_id');
                            $join->where('images.default','1');
                        })
                ->whereIn('products.id',session("idcompare"))
                ->get();
  1. session('idcompare') 的值为 (1,4,2)
  2. 选择此项时,products.id 的结果集顺序为 1,2,4
  3. 如何按 session 选择或订购?

最佳答案

另一种方式,将这一行放在你的 get 之前

->orderByRaw('FIELD(products.id,session("idcompare"))')

关于php - 如何在 Laravel 中使用 order by array 选择或排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43685695/

相关文章:

MySQL 内连接 2 个表并按表 1 中的 ID 对表 2 进行计数

php - 如何在动态生成表单的地方插入数据库值

php - 检查错误和抛出异常有多远?

php - 如果字符串为空,让 php sprintf 忽略 return

mysql - 如何在 SQL 中对逗号分隔的字符串求和?

mysql - 用于不同日期数据操作的 SQL

php - 表格数据每行的编辑和删除按钮?

mysql - 按商店、月份和年份获取前 5 名销售额

mysql - 关联两个 GROUP BY 查询以获得两个不同的计数

MySQL 如果不为空