Thanks for the super fast reply. Really appreciated. On Thursday, 17 June 2021 at 11:46:04 UTC+10 Jeremy Evans wrote:
> On Wed, Jun 16, 2021 at 6:22 PM Stuart Begg <[email protected]> wrote: > >> I've been reading the association documentation for Sequel for some time >> now. I'm trying to work out how to access an immutable data structure I >> have for a process in our application. This is the scenario. >> >> To maintain an immutable history of the lifecycle of a user, I have two >> main tables which are joined by a foreign key. Overtime, rows are added to >> the user_stages table as the user progresses from states like 'pending' >> to 'accepted', and on to (say) 'verified', or 'rejected', etc. The >> relationship is as follows: >> >> # Database schema: >> # users user_stages >> # :id <----\ :id >> # :auth_code \----- :user_id >> # :status >> >> The class structure is as follows: >> >> class User >> one_to_many :user_stage >> > > This should probably be `one_to_many :user_stages`, as associations that > return arrays should use the plural form. > > >> one_to_one :user_stage >> > > Assuming user_stages.id is an autoincrementing primary key, you probably > want: > > one_to_one :user_stage, :order=>Sequel.desc(:id) > > That way it picks the most recent one. No need for a subquery, since > ORDER BY id DESC LIMIT 1 will get the desired row. Since this is an > association, usage would be like: > > user = User.first > user.user_stage > > Thanks, > Jeremy > > -- You received this message because you are subscribed to the Google Groups "sequel-talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sequel-talk/68ff89cf-6076-4355-bc43-a5fcd05c64b8n%40googlegroups.com.
