我有User
模型和Deposit
模型。
一位用户has_many :deposits
和一位存款belongs_to :user
。
现在,存款表中有user_id
作为外键。
现在,我如何确定特定存款是特定用户的首次存款?
实际上我需要在Deposit模型中编写一个实例方法来识别它。
请帮我解决这个问题。提前谢谢!
答案 0 :(得分:3)
如果您想检查存款是现在唯一的存款:
def only_one?
user.deposits.count == 1
end
答案 1 :(得分:1)
您可以轻松识别created_at
属性。
离。
user.deposits.order(:created_at).first
希望它可以帮助你
答案 2 :(得分:1)
要为用户提取第一笔存款:
class User
def first_deposit
deposits.order(created_at: :desc).first
end
end
检查存款是否是特定用户的第一个:
class Deposit
def first?
self.class.where(user: user).order(created_at: :desc).first == self
end
end
答案 3 :(得分:0)
你可以试试这个
class Deposit < ApplicationRecord
def self.get_first_deposit(user)
where(user_id: user.id).order(:created_at).first
end
end
Deposit.get_first_deposit(user)
将返回第一条记录。