如何在Laravel中为每个循环保存逗号分隔的值
我正在使用下面的laravel代码接近驾驶员id如何在Laravel中为每个循环保存逗号分隔的值,laravel,group-concat,Laravel,Group Concat,我正在使用下面的laravel代码接近驾驶员id $nearest_car = DriverLocation::select(DB::raw('*, ( 6371 * acos( cos( radians('.$pickup_latitude.') ) * cos( radians( latitude ) ) * cos(radians( longitude ) - radians('.$pickup_longitude.') ) + sin( radians('.$pickup_latitu
$nearest_car = DriverLocation::select(DB::raw('*, ( 6371 * acos( cos( radians('.$pickup_latitude.') ) * cos( radians( latitude ) ) * cos(radians( longitude ) - radians('.$pickup_longitude.') ) + sin( radians('.$pickup_latitude.') ) * sin( radians( latitude ) ) ) ) as distance'))
->having('distance', '<=', 5)->where('driver_location.status','Online')->where('driver_location.car_id',$car_id);
我想做的是获取多个最近的不同驱动程序id(比如5到10个最近的id),并将所有id作为逗号分隔的值保存在driver\u id
列中。以上所有细节对于所有驱动程序都是相同的。只需要获取所有最近的驱动程序id,并将其保存为逗号分隔的值,如下图所示
假设您的
驱动器位置
型号具有用户id
,请应用以下命令获得逗号分隔的用户id
:
$nearest_driver_id=DriverLocation::select(DB::raw('*,(6371*acos(弧度('.$pickup_lation'))*cos(弧度(纬度))*cos(弧度(经度)-弧度('.$pickup_lation'))+sin(弧度('.$pickup_lation'))*sin(弧度(纬度))作为距离)
->有('距离','
$request = new Request;
$request->user_id = $rider_id;
$request->pickup_latitude = $pickup_latitude;
$request->pickup_longitude = $pickup_longitude;
$request->drop_latitude = $drop_latitude;
$request->drop_longitude = $drop_longitude;
$request->driver_id = $nearest_car->user_id;
$request->car_id = $car_id;
$request->pickup_location = $pickup_location;
$request->drop_location = $drop_location;
$request->payment_mode = $payment_method_store;