问题标签 [hydration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
eloquent - 如何避免 Laravel Eloquent 对具有双向对象关联的同一实体重复数据库获取?
假设,我有以下简化的对象模型:
即,一个主题收集了几个帖子。每个帖子都属于一个主题。主题可以或不能是foo
-ish,并且每个帖子都有一个属性bar
。如果帖子的父主题是 foo-ish,则帖子永远不会返回该bar
属性的值。
现在,让我们考虑以下代码片段
和
不幸的是,如果 n 是主题 42 中的帖子数,此代码会触发 n+2 个数据库查询。数据库查询是
首先,按预期获取主题,然后进行一次获取以急切地加载相关帖子。不幸的是,每个帖子都会再次获取公共父主题,因为Post::getBarAttribute
调用Post::topic
和 Eloquent 解析了属于关系,而没有注意到父主题已经被获取。此外,Eloquent 弄乱了对象图,Laravel 调试栏告诉我 2n+1 个模型已被水合。我希望 Eloquent 能够水合 n+1 个模型(n 个帖子,1 个主题),并且我希望每个模型Post:topic
都指向Topic
内存中的同一个实例。但是,Eloquent 会Topic
为同一实体创建 n+1 个独立的实例。
我该如何解决?
php - Doctrine hydrator 用另一个相关实体覆盖一个相关实体
我需要获取订单数组,其中包含第一个和最后一个 OrderItem。表 order_item:
ID | order_id | 地位 |
---|---|---|
1 | 1 | 0 |
2 | 1 | 1 |
3 | 1 | 0 |
4 | 1 | 1 |
5 | 1 | 0 |
订单实体
OrderItem 实体
服务中的代码
但 getArrayResult() 返回正确的数据:
即使我一开始调用 getArrayResult(),getResult() 也会开始正确补水。多么奇怪的行为?可以在不重复执行查询的情况下完成吗?
vue.js - “ApolloClient”类型上不存在 Vue/AppSync/ApolloClient 属性“水合”
我正在实施类似于这个项目的东西,
但是,每当我尝试为客户补充水分时,我都会收到提到的错误。对于上下文,我将其实现为 Vue 而不是 Angular,但尝试以非常相似的方式实现它。如有必要,我可以包含代码片段,但想看看其他人是否有类似的问题,或者是否不推荐使用 hydrad。我搜索了 stackoverflow 和其他网站,但找不到解决方案。任何帮助将不胜感激。
php - 使用教义和查询构建器运行多个水合查询的正确方法
我在运行具有多个嵌套联接的查询时遇到问题。我发现学说有一个问题,如果你运行一个有两个以上连接的查询,它很快就会变得非常昂贵。
我在这里找到了一篇文章:https ://ocramius.github.io/blog/doctrine-orm-optimization-hydration/描述了通过多种水合技术的解决方案,但是当我尝试运行查询时遇到了问题。我似乎无法获得部分权利,因此我的第二个查询正在使用第一个查询中预先存在的水合数据。
基本上我需要能够从水合数据 ca.member (这是一个数组)中加入结果
这是我的查询:
这是我一直遇到的错误,因为它来自第一个查询而不是子集成员的引用案例:
reactjs - Next.js react-device-detect 警告:文本内容与服务器不匹配
isMobile
使用库中的属性react-device-detect
进行条件渲染时会发生此错误。
为了解决这个错误,我使用创建了一个新的下一个应用程序npx create-next-app
,然后react-device-detect
使用 npm 安装了该软件包。然后我只是用这个替换了 index.js:
当我启动开发服务器并在桌面上打开页面时,我看到 Hello 并且没有错误。但是当我在手机上使用 Safari 时,我看到了 World,但我可以在开发工具中看到我也收到以下警告消息:
我读过一些关于水合作用的文章,发现我可以添加 suppressHydrationWarning 属性来抑制这个警告,但这是我应该在这里做的,还是我不明白什么?
python - 如何用 Python 为推文补水?
我想为 covid-19 推文 ID CSV 文件补充水分。我尝试关注https://theneuralblog.com/hydrating-tweet-ids/进行补水。我正在使用 Jupyter 笔记本,逐行运行。但是当我编码时出现错误:
错误消息显示:
1 t = Twarc(consumer_key,consumer_secret,access_token,access_token_secret)中的 KeyError Traceback(最近一次通话)2 t.hydrate 中的推文(打开('/Users/peggyleung95/Desktop/FYP/Untitled Folder/corona_tweets_theta.csv') ): ----> 3 打印(tweet['text']) 4 打印(tweet['id']) 5
键错误:'文本'
twitter - 如何使用 twarc 从包含许多 .txt 文件的目录中补充 Tweet Id 并将它们保存为 csv 文件(python)
我一直在使用 DocNow hydrator ( https://github.com/DocNow/hydrator ) 来为包含 Tweet ID 的 txt 文件中的推文添加水合物。现在,我在一个文件夹中有 100 多个 txt 文件,使用 hydrator 应用程序非常麻烦,因为我必须逐个文件处理这个文件。相反,我想编写一个 python 脚本来循环遍历所有的 txt 文件,对它们进行水合并将它们中的每一个保存到一个 csv 文件中。
制作一个巨大的 txt 文件是不可行的,因为我正在处理超过 10 亿条推文,而且我将无法用 excel 打开生成的 csv 文件(尽管可能有我不知道的方法),因为它太大了。
有人可以帮助我使用 twarc ( https://github.com/DocNow/twarc ) 编写这样的脚本吗?我对python很陌生,不知道该怎么做。非常感谢您!
css - 如何在 nextjs 中使用情感?水合错误
我正在尝试使用 nextjs 创建一个静态博客。
我想使用@emotion/styled来设置代码块的样式,但我遇到了一些水合问题。
我在我的博客中创建了一个自定义<Code>
组件来设置代码片段的样式。
我正在使用@ts-stack/markdown 来解析博客内容并添加一个简单的块规则来显示此示例之后的代码片段。
我在控制台中收到此错误:
看起来服务器生成的代码正确地将样式放在 head 元素中,但是当客户端呈现时,它希望将样式标签与内容内联。
我不确定为什么会这样......
这是我的代码:
这是自定义<Code>
组件:
这是我的pages/posts/[id].tsx
文件。
我的示例发布降价文件: