'#{now}'") 事件模型中有一列名为 name,我需要返回所有 nam-6ren">
gpt4 book ai didi

mysql - 不同的 Rails 查询

转载 作者:行者123 更新时间:2023-11-29 06:01:55 25 4
gpt4 key购买 nike

我很难弄清楚如何正确查询我的数据库。

我的查询如下:

@events = Event.where("startdate > '#{now}'")

事件模型中有一列名为 name,我需要返回所有 name 不同的事件,但我还需要所有列。我将如何做到这一点?

我认为这会奏效,但事实并非如此:

@events = Event.where("startdate > '#{now}'").uniq

然后我发现它不知道看什么来判断唯一性,我怎么告诉unique看名字列来判断唯一性?

数据:

ID | Name         | Description  | start
1 christmas holiday 12-25-16
2 christmas holiday 12-25-17
3 thanksgiving holiday 11-24-16

应该返回

1    christmas      holiday        12-25-16
3 thanksgiving holiday 11-24-16

谢谢,

最佳答案

你可以使用一个 block 来告诉uniq如何完成工作

@events = Event.where("startdate > '#{now}'").uniq(&:name)

否则,这可能更好,您可以在 SQL 中完成所有操作,因为
uniq
不是,它会迭代你的结果集。

@events = Event.where("startdate > '#{now}'").group(:name)

关于mysql - 不同的 Rails 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44314114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com