首页 > 数据库 > mysql教程 > 如何将 Laravel 原始查询中的参数与模型绑定

如何将 Laravel 原始查询中的参数与模型绑定

DDD
发布: 2024-11-15 01:31:02
原创
838 人浏览过

How to Bind Parameters in Laravel Raw Queries with a Model

将 Laravel 原始查询中的参数与模型绑定

在 Laravel 中,将参数绑定到模型上使用的原始数据库查询可能会很棘手。但是,这里有一个可以提供帮助的解决方法:

问题:

由于混合命名和位置,以下查询失败并出现“无效参数号”错误参数:

$query = DB::raw("... :lat, :lng, (calc) AS ...")->having("calc", "<", :radius);
登录后复制

解决方案:

利用 setBindings() 方法手动设置查询绑定,覆盖混合参数问题:

$query = DB::raw("... ?, ?, (calc) AS ...")->having("calc", "<", "?");
$query->setBindings([$lat, $lng, $radius]);
登录后复制

解释:

DB::raw() 语句使用问号作为位置参数,允许您使用 setBindings() 来设置它们命名绑定。这种方法允许您使用查询生成器的流畅界面,而无需担心参数混合。

以上是如何将 Laravel 原始查询中的参数与模型绑定的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板