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 |