gpt4 book ai didi

sql - 如何列出用户可用的所有任务?

转载 作者:数据小太阳 更新时间:2023-10-29 08:42:50 25 4
gpt4 key购买 nike

我正在尝试查询用户尚未完成的所有任务。

我创建了一个名为状态的模型

class State < ActiveRecord::Base
as_enum :value, %i{available inprogress completed}
belongs_to :user
belongs_to :task
end

类User和类Task与类状态有has_many关系。

我已经尝试过这样做并且最终得到了一个数组,如下所示:

@tasks = []
current_user.states.where(value_cd: 0).each do |task|
@tasks << state.task
end

我怎样才能通过查询做到这一点?

我的希望是实现类似这样的东西:

Tasks.where(state.value: :available && state.user_id == current_user.id)

感谢任何帮助!

最佳答案

我现在无法测试,但我相信你想使用 includes .像这样的东西应该可以工作:

tasks = Task.includes(:states).where(states: { value: :available, user_id: current_user.id})

您还可以阅读有关指定条件的更多信息 here

但如果我没记错的话,您也可以通过这种方式获取用户尚未完成的所有任务:

current_user.tasks.map(&:states).map(&:available)

- engineersmnky说我错了。

关于sql - 如何列出用户可用的所有任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50628567/

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