Guys,
I have a need to support as has_many/belongs_to relationship on a
legacy(kind of) schema. The reason I say kind of is that the schema does
have "id" columns that are used in many associations, but this
particular
has_many/belongs_to association needs to support different ones.
I''ve attached to code at the end of this email. Suffice it to say I
need to
use the standard "id" columns in most associations within the
application,
but for this particular MajicEmployee to GateClockEmployee relationship, I
need to use two non-standard columns for joining.
The :finder_sql option solves this problem for me on the has_many side, but
belongs_to doesn''t seem to support :finder_sql (although I''ve
included it in
the below code to illustrate what I''m trying to do).
Can anyone tell me how I can get the belongs_to side working so I can query
from that side as well?
Any help will be GREATLY appreciated.
Thanks!
JB
class MajicEmployee < ActiveRecord::Base
has_many :majic_entries
has_many :gate_clock_employees,
:finder_sql=>''select * from gate_clock_employees where
emplasci=#{number}''
end
class GateClockEmployee < ActiveRecord::Base
has_many :gate_clock_entries
belongs_to :majic_employee, :finder_sql=>''select * from
majic_employees
where number=#{emplasci}''
end
gateclock=# \d gate_clock_employees
Table "public.gate_clock_employees
"
Column | Type | Modifiers
------------+------------------------+-------------------------------------------------------------------
id | integer | not null default
nextval(''gate_clock_employees_id_seq''::regclass)
tagnum | integer |
pin | character varying(255) |
lastname | character varying(255) |
firstname | character varying(255) |
mi | character varying(255) |
dept | character varying(255) |
title | character varying(255) |
tel_ext | character varying(255) |
employe_no | integer |
parking_id | integer |
vehicle_1 | character varying(255) |
vehicle_2 | character varying(255) |
user_1 | text |
user_2 | text |
user_3 | text |
user_4 | text |
user_5 | text |
user_6 | text |
user_7 | text |
usernum | integer |
usrgrp_id | character varying(255) |
location | character varying(255) |
u_photo | character varying(255) |
emplasci | integer |
gateclock=# \d majic_employees
Table "public.majic_employees"
Column | Type | Modifiers
--------+---------+--------------------------------------------------------
id | integer | not null default
nextval(''employees_id_seq''::regclass)
number | integer |
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk
-~----------~----~----~----~------~----~------~--~---
Anyone? Surely someone else has faced a similar situation? Thanks, JB --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
Mark Reginald James
2006-Nov-01 00:17 UTC
Re: It this possible: finder_sql-like behavior for belongs_to?
J B wrote:> I have a need to support as has_many/belongs_to relationship on a > legacy(kind of) schema. The reason I say kind of is that the schema does > have "id" columns that are used in many associations, but this > particular has_many/belongs_to association needs to support different ones. > > I''ve attached to code at the end of this email. Suffice it to say I need > to use the standard "id" columns in most associations within the > application, but for this particular MajicEmployee to GateClockEmployee > relationship, I need to use two non-standard columns for joining. > > The :finder_sql option solves this problem for me on the has_many side, > but belongs_to doesn''t seem to support :finder_sql (although I''ve > included it in the below code to illustrate what I''m trying to do). > > Can anyone tell me how I can get the belongs_to side working so I can > query from that side as well? > > Any help will be GREATLY appreciated. > > Thanks! > JB > > class MajicEmployee < ActiveRecord::Base > has_many :majic_entries > has_many :gate_clock_employees, > :finder_sql=>''select * from gate_clock_employees where > emplasci=#{number}'' > end > > class GateClockEmployee < ActiveRecord::Base > has_many :gate_clock_entries > belongs_to :majic_employee, :finder_sql=>''select * from > majic_employees where number=#{emplasci}'' > endTry replacing the finder_sql for both associations with a :conditions option :conditions => ''emplasci=#{number}'' :conditions => ''number=#{emplasci}'' -- We develop, watch us RoR, in numbers too big to ignore. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---