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

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

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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板