如何根据id数组获取表记录?

I am doing project in laravel. I want to display all records according to the array containing ids of column.

I have array as,

$prov_Data  =  ["11","15","3","7","8","2","4"];

and I want to fetch all records from provider table whose ids are 11,15,3,7,... serially.

For that when I did as,

$providerData = Provider::whereIn('id',$prov_Data)->get();

then returned data is as 2,3,4,... i.e. in asc order. I want data in 11,15,3,... order only.

You can use the order by field feature :

$prov_Data  =  ["11","15","3","7","8","2","4"];
$ids = implode(',', $prov_Data);
$providers = Provider::whereIn('id', $prov_Data)->orderByRaw("FIELD (id, $ids) ASC")->get();

Tested only on mysql

$array = ["11","15","3","8","2","4","7"];
$list = implode(',', $array);
$data = Provider::whereIn('id', $array)->orderByRaw("FIELD (id, $list) ASC")->get();
return $data;