当前位置: 首页 > 知识库问答 >
问题:

Laravel在速度和返回内容量上有很大的差异

蒲勇
2023-03-14

我一直在测试Laravel,我运行了以下查询:

 $site = Sites::where('url', '=', Request::server('HTTP_HOST'));

数据库只包含1条记录,我var_dump$site,我得到的输出类似于下面,除了返回了近900,000个字符。

如果我保持查询简单,例如:

$site = Sites::all();

输出为:

对象(照亮\数据库\雄辩\收集)#121(1){[“项目”:受保护]=

这是相当少(1,600个字符),运行第一个查询时的性能很慢,我做了什么错事,因为我担心性能(为什么第一个查询这么慢)。

谢谢

共有2个答案

龙俊良
2023-03-14

使用.get()方法将结果检索为集合对象:

$site = Sites::where('url', '=', Request::server('HTTP_HOST'))->get()[0];

或者使用.first()方法获取与查询匹配的第一个模型对象:

$site = Sites::where('url', '=', Request::server('HTTP_HOST'))->first();
柳昊焱
2023-03-14

在第一个实例中,您将返回一个查询生成器实例,而在第二个实例中,您将实际返回集合。

也就是说,第一个查询不会返回任何实际数据,而是一种检索数据的方法,而第二个查询会提取数据。

如果希望第一个查询返回数据并减少输出大小和时间,则需要添加-

 类似资料:
  • 问题内容: 我构建了一个在我的本地主机(tomcat)中运行良好的webapp。但是,当我尝试部署时,init()中的速度崩溃了,这给我留下了这个奇怪的堆栈跟踪信息(抱歉,大小不一): 有谁知道解决方法?或至少了解错误?我做了一些谷歌搜索,但没有任何线索。.仅此页面面临相同的问题,但没有解决方案.. 问题答案: 我认为这行有答案。似乎在创建velocity.log文件时出现问题。您的配置文件是什么

  • 问题内容: 我正在关注有关Udemy的iOS Swift指南,这是我无法解决的第一个问题: 我应该看到html等打印到控制台,但是我得到了null。 这是本节: 如果我只打印数据,那么它给了我一些内容,但是当它编码为零时。 有什么帮助吗?在解决此问题之前,无法移动到下一部分。 问题答案: rmaddy已经提到的问题是您使用的编码。您需要使用。 或从Martin R中获取线索,您可以从响应中检测字符

  • 我如何传递我的异常,以便使用者将看到我在单声道中传递的原始异常?希望我的问题很清楚,提前谢谢

  • 受这个问题的启发。我创建了一个小型基准测试程序来比较原型、二进制格式和Json。NET。基准测试本身是一个基于https://github.com/sidshetye/SerializersCompare的小型控制台。随意添加/改进,向组合中添加一个新的序列化程序非常简单。无论如何,我的结果是: 免责声明: > 以上结果来自Windows虚拟机-与裸机操作系统相比,非常小间隔的秒表/计时器值可能不

  • 问题内容: 我正在尝试使用连接服务器,但是PUT方法存在问题。 我需要发送一个包含 1500个字符 (或更多)的字符串,但是在这种情况下,服务器会产生超时并返回 500个服务器内部错误 。 如果我发送的字符串少于 1400个字符 ,则没有问题,服务器返回 OK 。 我的代码如下: // ----------------------- 我尝试添加线 但是服务器的答案还是错误的。 更新: 我可以发现问

  • 我目前正在为H264视频流编写解码器。目标平台是Android,所以我使用的是MediaCodec API(Android OS>=6.0)。 我在4个设备上测试了我的代码(4个设备上都是相同的): 它在小米红米5 Plus上运行得很好(实际上速度相当快)。 在Nexus 7和三星Galaxy Tab A上运行速度非常慢 它在Samsung Galaxy Tab S2上失败,在(和返回正确的值()