返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP中Laravel关联查询返回错误id如何解决
  • 761
分享到

PHP中Laravel关联查询返回错误id如何解决

2023-07-04 18:07:09 761人浏览 薄情痞子
摘要

这篇文章主要介绍了PHP中Laravel关联查询返回错误id如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php中Laravel关联查询返回错误id如何解决文章都会有所收获,下面我们一起来看看吧。在 L

这篇文章主要介绍了PHP中Laravel关联查询返回错误id如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php中Laravel关联查询返回错误id如何解决文章都会有所收获,下面我们一起来看看吧。

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

PHP

$priority = Priority::rightJoin('touch', 'priorities.touch_id', '=', 'touch.id') ->where('priorities.type', 1) ->orderBy('priorities.total_score', 'desc') ->orderBy('touch.created_at', 'desc') ->get();
$priority = Priority::rightJoin('touch', 'priorities.touch_id', '=', 'touch.id') ->where('priorities.type', 1) ->orderBy('priorities.total_score', 'desc') ->orderBy('touch.created_at', 'desc') ->get();

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

PHP中Laravel关联查询返回错误id如何解决

Laravel 关联查询返回错误的 id

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

select * from `priorities` right join `touch` on `priorities`.`touch_id` = `touch`.`id` where `priorities`.`type` = '1' order by `priorities`.`total_score` desc, `touch`.`created_at` desc
select * from `priorities` right join `touch` on `priorities`.`touch_id` = `touch`.`id` where `priorities`.`type` = '1' order by `priorities`.`total_score` desc, `touch`.`created_at` desc

查询结果如图:

PHP中Laravel关联查询返回错误id如何解决

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

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

PHP

$priority = Priority::select(['priorities.*', 'touch.name', 'touch.add_user']) ->rightJoin('touch', 'priorities.touch_id', '=', 'touch.id') ->where('priorities.type', 1) ->orderBy('priorities.total_score', 'desc') ->orderBy('touch.created_at', 'desc') ->get();
$priority = Priority::select(['priorities.*', 'touch.name', 'touch.add_user']) ->rightJoin('touch', 'priorities.touch_id', '=', 'touch.id') ->where('priorities.type', 1) ->orderBy('priorities.total_score', 'desc') ->orderBy('touch.created_at', 'desc') ->get();

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

关于“PHP中Laravel关联查询返回错误id如何解决”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“PHP中Laravel关联查询返回错误id如何解决”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网PHP编程频道。

--结束END--

本文标题: PHP中Laravel关联查询返回错误id如何解决

本文链接: https://lsjlt.com/news/346742.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PHP中Laravel关联查询返回错误id如何解决
    这篇文章主要介绍了PHP中Laravel关联查询返回错误id如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PHP中Laravel关联查询返回错误id如何解决文章都会有所收获,下面我们一起来看看吧。在 L...
    99+
    2023-07-04
  • php curl返回错误码60如何解决
    今天有用户调用一个curl方法时,遇到如下的错误,查找了一些资料终于解决了。解决方法记录一下,留着自己以后自已查阅用。 错误代码 cURL error 60: SSL certi...
    99+
    2024-04-02
  • php中curl如何返回错误
    小编给大家分享一下php中curl如何返回错误,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php curl返回错误的方法:首先创建一个指向一个不存在的位置的cU...
    99+
    2023-06-15
  • php laravel 505错误如何解决
    这篇“php laravel 505错误如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php laravel 505...
    99+
    2023-07-04
  • laravel中如何用dingo API返回自定义错误信息
    本篇内容主要讲解“laravel中如何用dingo API返回自定义错误信息”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“laravel中如何用dingo API返回自定义错误信息”吧!lara...
    99+
    2023-07-04
  • 如何解决JQuery ajax中error返回错误及一直返回error的问题
    本篇文章为大家展示了如何解决JQuery ajax中error返回错误及一直返回error的问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。进入百度搜索此问题,发...
    99+
    2024-04-02
  • laravel中migrate出现错误解决如何解决
    本篇文章为大家展示了laravel中migrate出现错误解决如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。断断续续开始 laravel 入门学习,想整个简单的通讯录系统,设立了两个表,一个...
    99+
    2023-06-17
  • JPA如何使用nativequery多表关联查询返回自定义实体类
    目录JPA nativequery多表关联查询返回自定义实体类JPA多表关联的实现方式优缺点对比使用sql并返回自定义实体类JPA多表关联动态查询(自定义sql语句)实体类注解解释测...
    99+
    2024-04-02
  • mysql一对多关联查询分页错误问题的解决方法
    xml问价中查询数据中包含list,需要使用collection <resultMap id="XX" type="com.XXX.XXXX"> <id column="o_i...
    99+
    2024-04-02
  • 如何在 PHP 中处理 MySQL 查询错误?
    处理 php 中的 mysql 查询错误非常重要。有多种方法可以做到这一点,包括使用 mysqli_error() 和 mysqli_errno() 函数来获取错误消息和代码,以及使用异...
    99+
    2024-05-11
    mysql php
  • PHP中如何处理查询结果中的错误?
    php 中处理查询结果中的错误对于确保应用程序的鲁棒性和可靠性至关重要。通过采用最佳实践可以轻松检测和处理错误:1. 使用 errorinfo() 方法返回一个包含错误代码和消息的数组。...
    99+
    2024-05-04
    php 错误处理 mysql
  • 在VC++ loadlibrary()中加载三方dll时返回:126错误码如何解决
    在VC++ loadlibrary()中加载三方dll时返回:126错误码如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。方式一: 采用 LoadLibr...
    99+
    2023-06-14
  • 如何解决SSM Mapper文件查询出返回数据查不到个别字段的问题
    这篇文章将为大家详细讲解有关如何解决SSM Mapper文件查询出返回数据查不到个别字段的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SSM Mapper查询出返回数据查不到个别字段原因开...
    99+
    2023-06-28
  • 如何解决ajax返回验证的时候总是弹出error错误的问题
    这篇文章主要讲解了“如何解决ajax返回验证的时候总是弹出error错误的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决ajax返回验证的时候总...
    99+
    2024-04-02
  • php如何解决sql查询语句中中文的问题
    本文小编为大家详细介绍“php如何解决sql查询语句中中文的问题”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何解决sql查询语句中中文的问题”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、中文字符的...
    99+
    2023-07-05
  • 如何解决 PHP 函数中出现的常见错误?
    php 函数中常见的错误包括未定义函数、参数数量或类型错误、undefined index、call to a member function on a non-object。解决方法包...
    99+
    2024-04-17
    php 错误处理
  • 如何解决MongoDB索引文件破坏后导致查询错误的问题
    这篇文章主要讲解了“如何解决MongoDB索引文件破坏后导致查询错误的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决MongoDB索引文件破坏后...
    99+
    2024-04-02
  • RiSearch PHP 如何解决中文分词与索引的关联问题
    引言:RiSearch是一款功能强大的PHP全文搜索引擎,能够高效地处理中文分词和索引问题。本文将介绍如何使用RiSearch解决中文分词与索引的关联问题,并提供具体的代码示例。一、中文分词中文分词是将连续的中文文本切分成一个个有意义的词语...
    99+
    2023-10-21
    PHP 索引 中文分词
  • 如何识别并解决 PHP 函数中的语法错误?
    php 函数语法错误可通过代码突出显示、错误消息和控制台错误识别。常见的错误包括丢失分号、未闭合括号和使用未定义变量。解决步骤包括:检查代码、使用调试器、阅读错误消息和查阅文档。实战案例...
    99+
    2024-04-28
    php 语法错误
  • 如何解决在做vue和oracle账号关联时容易出现的错误:third invalid attempt
    这篇文章给大家介绍如何解决在做vue和oracle账号关联时容易出现的错误:third invalid attempt,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 以前在vue考试...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作