ActiveModel表 - has_many但只有一个默认记录

时间:2014-08-22 03:30:54

标签: ruby-on-rails-3 activerecord ruby-on-rails-3.2

我想选择(做一个连接)到一个记录,该记录的列为布尔值为true,表格为该特定用户的has_many记录。

例如,用户模型has_many PhoneNumbers,并且从许多PhoneNumbers中他有一个默认电话号码。

有可能这样做吗?

谢谢。 :)

1 个答案:

答案 0 :(得分:0)

让我们说:

User(:id, :first_name, :last_name)

PhoneNumber(:id, :user_id, :value, :is_default)

其中:is_default是布尔字段,表示它是否是用户的默认电话号码。然后你就可以这样做:

@users = User.joins(:phone_numbers).where('phone_numbers.is_default IS TRUE').select('users.*, phone_numbers.value AS phone_number')

然后您可以@users.first.phone_number获取第一个用户的默认电话号码。

希望这会有所帮助!