$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();
session('idcompare')
有值(1,4,2)products.id
的结果集将按顺序1,2,4 答案 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;