位置: 编程技术 - 正文

PHP中Laravel 关联查询返回错误id的解决方法(php连接)

编辑:rootadmin

推荐整理分享PHP中Laravel 关联查询返回错误id的解决方法(php连接),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:laravel 关联查询,php的laravel框架,php关联查询,laravel入门与实战:构建主流php应用开发框架,php的laravel框架,php关联查询,laravel php artisan,laravel php artisan,内容如对您有帮助,希望把文章链接给更多的朋友!

在 Laravel Eloquent 中使用 join 关联查询,如果两张表有名称相同的字段,如 id,那么它的值会默认被后来的同名字段重写,返回不是期望的结果。例如以下关联查询:

PHP

priorities 和 touch 这两张表都有 id 字段,如果这样构造查询的话,返回的查询结果如图:

Laravel 关联查询返回错误的 id

这里 id 的值不是 priorities 表的 id 字段,而是 touch 表的 id 字段,如果打印出执行的 sql 语句:

查询结果如图:

PHP中Laravel 关联查询返回错误id的解决方法(php连接)

使用 sql 查询的结果实际上是对的,另外一张表重名的 id 字段被默认命名为 id1,但是 Laravel 返回的 id 的值却不是图中的 id 字段,而是被重名的另外一张表的字段重写了。

解决办法是加一个 select 方法指定字段,正确的构造查询语句的代码:

PHP

这样就解决了问题,那么以后就要注意了,Laravel 两张表 join 的时候返回的字段最好要指定。

这算不算是 Laravel 的一个 bug 呢?如果一个字段的值被同名的字段值重写了,这种情况要不要报一个错误出来,而不能默认继续执行下去。

github 上有人也提出了同样的问题,作者也提供了解决办法,但并没其他更好的方案。

Laravel 版本:5.3

链接: 关联查询返回错误的 id的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

PHP房贷计算器实例代码,等额本息,等额本金 实例如下:debx();functiondebx(){$dkm=;//贷款月数,年就是个月$dkTotal=;//贷款总额$dknl=0.;//贷款年利率$emTotal=$dkTotal*$dknl/*pow(1+$dknl/,$dkm)/(pow(1+$dk

PHP 实现字符串翻转(包含中文汉字)的实现代码 包含汉字字符串乱码PHP面试题,题目很短,也很常见,但更容易出错,题目如下如何实现字符串翻转?第一反应,当然是strrev函数啦,这么容易的题目

php实现用户登陆简单实例 php实现用户登陆简单实例前言:最近要完成的最后一个部分,就是对用户提交的数据进行管理,至于管理,那肯定就是管理员的事了,那一定涉及登陆

本文链接地址:https://www.jiuchutong.com/biancheng/294785.html 转载请保留说明!

上一篇:微信小程序 消息推送php服务器验证实例详解(微信小程序消息订阅怎么打开)

下一篇:PHP房贷计算器实例代码,等额本息,等额本金(房贷计算器搜房网)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络