如何在Laravel中使用数组的顺序进行选择或排序

时间:2017-04-28 17:23:35

标签: 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. 如何通过我的会话选择或订购?

2 个答案:

答案 0 :(得分:4)

另一种方法是,在获得

之前加上这一行
->orderByRaw('FIELD(products.id,session("idcompare"))')

答案 1 :(得分:0)

        $arr=[];
        foreach(session("idcompare") as $i){
            foreach($return as $j) {
                if ($i == $j->id) {
                    $arr[] = $j;
                }
            }
        }
        return $arr;
  1. 哦,这很容易