- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试构建我的第一个“真正的”Haskell 应用程序,一个使用 Servant 的 API,我在其中使用 Persistent 作为数据库后端。但是我在尝试使用 Persistent 进行某种类型的数据库查询时遇到了问题。
我真正的问题当然要多一些,但我遇到的问题的本质可以这样解释。我有一个记录类型,例如:
data Foo = Foo { a :: Int, b :: Int }
derivePersistField "Foo"
share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistLowerCase|
Thing
foo Foo
|]
Một
的项目。字段大于一些
aMin
即提供。 (目的是它实际上将由查询字符串中的 API 请求提供。)
Int
领域
Bar
,我可以简单地做
selectList [ThingBar >=. aMin] []
,但我对在过滤器列表中放入什么以便从记录中提取字段并与它进行比较的问题一无所知。尽管这感觉像是 Haskell 应该能够轻松完成的事情。感觉应该有
Functor
涉及到这里我只能
fmap
Một
访问器结束,但相关类型,据我所知从文档和
tutorial , 是
EntityField Thing
由 GADT 定义(实际上由模板 Haskell 从上面的
share
调用生成),在这种情况下只有一个构造函数产生
EntityField Thing Foo
,这似乎不可能制作
Functor
实例出。
>=.
这样的组合器的 LHS必须是
EntityField
值,这阻止我在比较之前尝试将函数应用于数据库值。
Một
Và
b
到我的数据库表中的单独字段中,并以这种方式解决问题。正如我所说,这有点简化,在我的实际应用程序中,由于多种原因,这样做会让人感到不满意。它并没有解决我更广泛的问题,即如何在查询之前对数据进行任意转换。 [编辑:为了推进我的项目,我现在已经采用了这种方法,但正如我所说,它并不完全令人满意,我仍在等待我的一般问题的答案——即使那只是“对不起,它是不可能”,正如我越来越怀疑的那样,我希望得到一个很好的解释。]
derivePersistField
将这些编码为 SQL 数据类型)似乎不太合理,所以我觉得我应该问一下是否有任何解决方法,或者我真的必须将我的记录分解成一堆单独的字段如果我想单独查询它们。
1 Câu trả lời
Bạn có thể sử dụng -ddump-splices
编译器标志转储由 derivePersistField
生成的代码(以及所有其他模板 Haskell 调用)。您可能需要通过 -fforce-recomp
也,如果 ghc
不认为该文件需要重新编译。
如果你这样做,你会看到方法 persistent
用于编码 Foo
进出 SQL 的数据类型是使用其 đọc
Và trình diễn
实例将其存储为文本字符串。 (这个 Đúng 实际上在关于 Custom Fields 的文档中有解释。)这也意味着查询如下:
stuff <- selectList [ThingFoo >=. Foo 3 0] []
Thing (Foo 10 2)
不会通过这个过滤器,因为字符串“Foo 10 2”排在“Foo 3 0”之前。
derivePersistField
创建的自定义字段并不是真的要用于比 Yesod 文档中的示例更复杂的东西:
data Employment = Employed | Unemployed | Retired
关于haskell - 持久性 - 如何过滤记录列的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58349653/
我正在 csv 上使用 hadoop 来分析一些数据。我使用sql/mysql(不确定)来分析数据,现在陷入了僵局。 我花了好几个小时在谷歌上搜索,却没有找到任何相关的东西。我需要一个查询,在该查询中
我正在为 Bootstrap 网格布局的“简单”任务而苦苦挣扎。我希望在大视口(viewport)上有 4 列,然后在中型设备上有 2 列,最后在较小的设备上只有 1 列。 当我测试我的代码片段时,似
对于这个令人困惑的标题,我深表歉意,我想不出这个问题的正确措辞。相反,我只会给你背景信息和目标: 这是在一个表中,一个人可能有也可能没有多行数据,这些行可能包含相同的 activity_id 值,也可
具有 3 列的数据库表 - A int , B int , C int 我的问题是: 如何使用 Sequelize 结果找到 A > B + C const countTasks = await Ta
我在通过以下功能编写此查询时遇到问题: 首先按第 2 列 DESC 排序,然后从“不同的第 1 列”中选择 只有 Column1 是 DISTINCT 此查询没有帮助,因为它首先从第 1 列中进行选择
使用 Bootstrap 非常有趣和有帮助,目前我在创建以下需求时遇到问题。 “使用 bootstrap 在桌面上有 4 列,在平板电脑上有 2 列,在移动设备上有 1 列”谁能告诉我正确的结构 最佳
我是 R 新手,正在问一个非常基本的问题。当然,我在尝试从所提供的示例中获取指导的同时做了功课here和 here ,但无法在我的案例中实现这个想法,即可能是由于我的问题中的比较维度更大。 我的实
Thông thường tôi sẽ sử dụng R và thực hiện merge.by, nhưng tệp này có vẻ quá lớn đối với bất kỳ máy tính nào trong khoa để xử lý! (Thông tin bổ sung cho bất kỳ ai làm việc trong lĩnh vực di truyền học) Về cơ bản, việc quy imputation dường như đã xóa các số rs cho ID snp và tôi còn lại
我有一个 df , delta1 delta2 0 -1 2 0 -1 0 0 0 我想知道如何分配 delt
您好,我想知道是否可以执行以下操作。显然,我已经尝试在 phpMyAdmin 中运行它,但出现错误。也许还有另一种方式来编写此查询。 SELECT * FROM eat_eat_restaurants
我有 2 个列表(标题和数据值)。我想要将数据值列 1 匹配并替换为头文件列 1,以获得与 dataValue 列 1 和标题值列 2 匹配的值 头文件 TotalLoad,M0001001 Hois
我有两个不同长度的文件,file2 是一个很大的引用文件,我从中提取文件 1 的数据。 我有一行 awk,我通常会对其进行调整以在我的文件中进行查找和替换,但它总是在同一列中进行查找和替换。 所以对于
假设我有两个表,如下所示。 create table contract( c_ID number(1) primary key, c_name varchar2(50) not
我有一个带有 varchar 列的 H2 表,其检查约束定义如下: CONSTRAINT my_constraint CHECK (varchar_field <> '') 以下插入语句失败,但当我删
这是最少量的代码,可以清楚地说明我的问题: One Two Three 前 2 个 div 应该是 2 个左列。第三个应该占据页面的其余部分。最后,我将添加选项来隐藏和
在 Azure 中的 Log Analytics 中,我为 VM Heartbeat 选择一个预定义查询,我在编辑器中运行查询正常,但当我去创建警报时,我不断收到警报“查询未返回 TimeGenera
在 Azure 中的 Log Analytics 中,我为 VM Heartbeat 选择一个预定义查询,我在编辑器中运行查询正常,但当我去创建警报时,我不断收到警报“查询未返回 TimeGenera
今天我开始使用 JexcelApi 并遇到了这个:当您尝试从特定位置获取元素时,不是像您通常期望的那样使用sheet.getCell(row,col),而是使用sheet.getCell(col,ro
我有一个包含 28 列的数据库。第一列是代码,第二列是名称,其余是值。 public void displayData() { con.Open(); MySqlDataAdapter
我很沮丧:每当我缩小这个网页时,一切都变得一团糟。我如何将网页居中,以便我可以缩小并且元素不会被错误定位。 (它应该是 2 列,但所有内容都合并为 1)我试过 但由于某种原因,这不起作用。 www.o
Tôi là một lập trình viên xuất sắc, rất giỏi!