使用原始数据库进行查询,但由于sql字符串出错而无法运行
我不熟悉使用laravel,我必须使用sql字符串进行查询,但由于sql查询中存在错误,代码无法运行 代码是:使用原始数据库进行查询,但由于sql字符串出错而无法运行,sql,laravel,Sql,Laravel,我不熟悉使用laravel,我必须使用sql字符串进行查询,但由于sql查询中存在错误,代码无法运行 代码是: $current_lat = $request->latitude; $current_lng = $request->longitude; $car_type = $request->car_type; $data=DB::table('artisantypes')->select(DB::raw('artisantypes.ma
$current_lat = $request->latitude;
$current_lng = $request->longitude;
$car_type = $request->car_type;
$data=DB::table('artisantypes')->select(DB::raw('artisantypes.max_seat AS max_size,3956 * 2 * ASIN(SQRT(POWER(SIN(($current_lat - artisans.driver_lat) * pi()/180 / 2), 2)+ COS($current_lat * pi()/180 ) * COS(artisans.driver_lat * pi()/180) * POWER(SIN(($current_lng - artisans.driver_lng) * pi()/180 / 2), 2) )) as distance,artisans.driver_lat,artisans.driver_lng' ))
->leftjoin('artisans','artisantypes.id', '=','artisans.car_id' )
->where('artisantypes.id' ,'=', $car_type and 'artisans.status', '=' , 0)
->groupby('artisans.id')
->having('distance' ,'<', 25)
->orderby ('distance', 'ASC' )
->limit( 0,1)
->get();
$current\u lat=$request->latitude;
$current_lng=$request->longitude;
$car\u type=$request->car\u type;
$data=DB::table('artisantypes')->选择(DB::raw('artisantypes.max_seat AS max_size,3956*2*ASIN)(功率(SIN($current\u lat-artisans.driver\u lat)*pi()/180)/COS(artisans.driver\u lat pi()/180)*功率(SIN($current\u lng-artisans driver\u lng)*pi()/180/2)))作为距离,artisans.driver_lat,artisans.driver_lng'))
->leftjoin('artisans','ArtisTypes.id','=','artisans.car_id'))
->其中('artisantypes.id'、'='、$car_type和'artisans.status'、'=',0)
->groupby('artisans.id')
->使用('distance','不能在where函数中直接指定AND
改变
->where('artisantypes.id' ,'=', $car_type and 'artisans.status', '=' , 0)
到
where('artisantypes.id'、'='、$car\u type和'artisans.status'、'=',0)
这看起来不太正确。但更正后,查询找不到$current\u lat和$current\u lngth这两个PHP基础。不能在单引号内使用变量名。如果要分析其中的变量,请使用双引号。'$current\u lat'和'“$current_lat”将为您提供不同的字符串。
->where('artisantypes.id' ,'=', $car_type and 'artisans.status', '=' , 0)
->where([
['artisantypes.id' ,'=', $car_type],
['artisans.status', '=' , 0],
])