在模型上的 Laravel 原始数据库查询中绑定参数
在模型上的 Laravel 中使用原始数据库查询时,绑定参数可能是一个挑战。组合使用命名参数和位置参数时会出现此问题,导致错误“参数编号无效:混合命名参数和位置参数。”
要解决此问题,请考虑以下解决方案:
$property = Property::select( DB::raw("title, lat, lng, ( 3959 * acos( cos( radians( ? ) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(?) ) + sin( radians( ? ) ) * sin( radians( lat ) ) ) ) AS distance") ) ->having("distance", "<", "?") ->orderBy("distance") ->take(20) ->setBindings([$lat, $lng, $lat, $radius]) ->get();
通过使用 setBindings() 方法,可以将参数值绑定到查询,允许执行需要参数化的原始数据库查询。
以上是如何处理 Laravel 原始数据库模型查询中的绑定参数?的详细内容。更多信息请关注PHP中文网其他相关文章!