位置: 编程技术 - 正文
推荐整理分享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 语句:
查询结果如图:
使用 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实现用户登陆简单实例前言:最近要完成的最后一个部分,就是对用户提交的数据进行管理,至于管理,那肯定就是管理员的事了,那一定涉及登陆
标签: php连接
本文链接地址:https://www.jiuchutong.com/biancheng/294785.html 转载请保留说明!上一篇:微信小程序 消息推送php服务器验证实例详解(微信小程序消息订阅怎么打开)
下一篇:PHP房贷计算器实例代码,等额本息,等额本金(房贷计算器搜房网)
友情链接: 武汉网站建设