对于Laravel中的每个循环
我的对于Laravel中的每个循环,laravel,foreach,Laravel,Foreach,我的driver\u位置表中有以下数据库结构 从这个表中,我获取了距离在5公里以内的近距离驾驶员id,其在线状态与下面在laravel中的查询相同 $nearest_car = DriverLocation::select(DB::raw('*, ( 6371 * acos( cos( radians('.$pickup_latitude.') ) * cos( radians( latitude ) ) * cos(radians( longitude ) - radians('.$pic
driver\u位置表中有以下数据库结构
从这个表中,我获取了距离在5公里以内的近距离驾驶员id,其在线状态与下面在laravel中的查询相同
$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);
要在视图中访问此项,您必须执行以下操作:
@foreach ($text as $demo)
<p>This my product name {{ $demo->name }}</p>
<p>This my product category {{ $demo->category->name}}</p>
@endforeach
@foreach($text作为$demo)
这是我的产品名称{{$demo->name}
这是我的产品类别{{$demo->category->name}
@endforeach
如果您想在投标申请表中插入5条记录,则只需从以下查询中获取5条记录:
$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)
->limit(5)->get();
在表中插入:
DB::table('bid_request')->insert($data);
使用Forloop您应该在变量中指定$i
for($i=0;$i<5;$i++){
DB::table('bid_request')->insert(
'user_id' => $rider_id[$i],
'group_id' => null,
'pickup_latitude' => $pickup_latitude,
'pickup_longitude' => $pickup_longitude,
'drop_latitude' => $drop_latitude,
'drop_longitude' => $drop_longitude,
'driver_id' => $nearest_car->user_id,
'car_id' => $car_id,
'pickup_location' => $pickup_location,
'drop_location' => $drop_location,
'payment_mode' => $payment_method_store,
'status' => 'Pending',
'is_wallet' => $is_wallet,
'driver_mobile' => $driver_details->mobile_number,
'driver_avg_ratings' => $driver_details->driver_avg_ratings,
'distance' => $dis,
'min_time' => $get_near_car_time
//minimum time and distance needs to b
);
}
}
谢谢,它工作起来很有魅力。当这么多用户使用同一条记录时,这会是一个性能问题吗?:)这不是一个大问题,bcz for record insert将只执行一个查询。如果记录太大,可能需要在for循环中花费时间,但记录将插入到bunchone问题中,则将从users表中插入driver_avg_ratings,这对每个驱动程序都不同,但插入的值与allin foreach循环的第一个驱动程序评级相同。我们使用$value变量,因此您可以使用它。为了参考我在driver\u id中所做的:“driver\u id”=>$value->user\u id,当我使用这个“driver\u avg\u ratings”=>$value->$driver\u details->driver\u avg\u ratings时,它没有插入任何数据
DB::table('bid_request')->insert($data);
for($i=0;$i<5;$i++){
DB::table('bid_request')->insert(
'user_id' => $rider_id[$i],
'group_id' => null,
'pickup_latitude' => $pickup_latitude,
'pickup_longitude' => $pickup_longitude,
'drop_latitude' => $drop_latitude,
'drop_longitude' => $drop_longitude,
'driver_id' => $nearest_car->user_id,
'car_id' => $car_id,
'pickup_location' => $pickup_location,
'drop_location' => $drop_location,
'payment_mode' => $payment_method_store,
'status' => 'Pending',
'is_wallet' => $is_wallet,
'driver_mobile' => $driver_details->mobile_number,
'driver_avg_ratings' => $driver_details->driver_avg_ratings,
'distance' => $dis,
'min_time' => $get_near_car_time
//minimum time and distance needs to b
);
}
}
foreach($variable_which_contains_all_values as $value){
DB::table('bid_request')->insert(
'user_id' => $value->rider_id,
'group_id' => null,
'pickup_latitude' => $pickup_latitude,
'pickup_longitude' => $pickup_longitude,
'drop_latitude' => $drop_latitude,
'drop_longitude' => $drop_longitude,
'driver_id' => $nearest_car->user_id,
'car_id' => $car_id,
'pickup_location' => $pickup_location,
'drop_location' => $drop_location,
'payment_mode' => $payment_method_store,
'status' => 'Pending',
'is_wallet' => $is_wallet,
'driver_mobile' => $driver_details->mobile_number,
'driver_avg_ratings' => $driver_details->driver_avg_ratings,
'distance' => $dis,
'min_time' => $get_near_car_time
//minimum time and distance needs to b
);
}
}