gpt4 book ai didi

mysql - 在 Ruby on Rails 4 中查询以根据当前用户进行选择

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

我是 Ruby on Rails 新手,并尝试进行正确的查询。但在阅读文档和示例后,我无法从中得到正确的查询。所以我希望有人能指出我正确的方向。

情况我构建了一个应用程序,培训师可以在其中设置培训,并在多个日期进行这些培训(这些日期称为刺激),其他用户可以订阅这些刺激。它具有以下结构:models and needed table .

我的模型代码如下所示:

class User
has_many :trainings
has_many :thrills, through: :reservations
has_many :reservations

class Training
belongs_to :user
has_many :reservations
has_many :thrills
has_many :users, through: :thrills

class Thrill
belongs_to :training
has_many :reservations
has_many :users, through: :reservations

class Reservation
belongs_to :user
belongs_to :thrill
has_one :training, through: :thrill
  • 在索引页面上,我想显示当前用户设置的所有刺激内容(按日期排序)。我想我需要一个查询来显示上传图像中的表格,并且从该表格中我可以选择 current_user.id = user_id 的所有 Thrills
  • 在搜索页面上,我只想显示 Thrill 未满的培训(因此我想对预订进行计数)

我在想这样的事情:

@thrills = Thrill.joins(:trainings).where('? = trainings.user_id, current_user.id') 

@thrills = Thrill.where('? = @thrill.training.user_id', current_user.id).all

@thrills = Thrill.joins(:trainings).where(trainings: { user_id: current_user.id })

但不幸的是,它们都不起作用。有人知道如何解决这个问题吗?提前致谢!

最佳答案

通常你有这两种模型:

class Thrill < ActiveRecord::Base
belongs_to :user
end

class User < ActiveRecord::Base
has_many :thrills
end

因此,对于索引页,您可以执行以下操作:

current_user.thrills # => ActiveRecord::Relation (can call each, map etc.)

关于mysql - 在 Ruby on Rails 4 中查询以根据当前用户进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39205846/

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