我在Laravel 5.4中的查询构建器中使用了has和paginate。但它显示错误。如果我删除了paginate方法它正常工作。这是我的代码
DB::table('nearbies')
->select(DB::raw('( 6371 * acos ( cos ( radians(9.955308) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians(76.302331) )+ sin ( radians(9.955308) ) * sin( radians( latitude ) ))) AS distance,id,name,location'))
->havingRaw('( 6371 * acos ( cos ( radians(9.955308) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians(76.302331) )+ sin ( radians(9.955308) ) * sin( radians( latitude ) ))) < 10')
->orderBy('distance','asc')
->paginate(3);
答案 0 :(得分:1)
havingRaw无权访问生成的字段。因此,您需要使用whereRaw而不是havingRaw,如本答案中所述: How to use 'having' with paginate on relationship's column in laravel 5