2010/11/26 Eduardo Yáñez Parareda <[email protected]>: > Well, I'm not a newbie developer....
OK, we were not to know that of course. > > The from clause is: > > from > users u, users ug, members m, projects p, > issues i, time_entries t, > issue_categories ic, groups_users g, category_attrs att > left join enumerations ptype on ptype.id = > att.project_type_id > left join enumerations rtype on rtype.id = > att.request_type_id > > I prefer to have a model for my results, I think it'll be enhanced > with more attibutes when I progress in the development. Is there not an issue then that there will be multiple ways of accessing overlapping attributes? I suppose if it is read only that may be less of an issue. You might end up having to replicate business logic though. Colin > > On 26 nov, 13:00, Colin Law <[email protected]> wrote: >> 2010/11/26 Eduardo Yáñez Parareda <[email protected]>: >> >> > Hello, >> >> > I have custom queries that joins several tables, so I have written a >> > model class to represent those data. I have extended it from >> > ActiveRecord::Base in order to be able to use 'find_by_sql'. When I >> > call 'find_by_sql' it seems to work fine, in the debugger I can see >> > every record retrieved from DB with their values, but when I try to >> > access those values through some accessors, they don't give me >> > anything. >> >> Are you absolutely sure you cannot do it using normal rails >> relationships and avoid find_by_sql? >> >> Colin >> >> >> >> >> >> >> >> >> >> > This is my class: >> >> > class ProjectsReport < ActiveRecord::Base >> >> > attr_accessor :total_hours, :group_name, :project_type, :request_type >> >> > def initialize(total_hours, group_name, project_type, request_type) >> > �...@total_hours = total_hours >> > �...@group_name = group_name >> > �...@project_type = project_type >> > �...@request_type = request_type >> > end >> > end >> >> > If I use another class that has a table associated to call >> > find_by_sql, everything works fine, but that isn't a good design. >> >> > # This doesn't work because ProjectsReport doesn't have any table on >> > DB? >> > �...@records = >> > ProjectsReport.find_by_sql(create_projects_report_query(start_date, >> > end_date)) >> >> > # This works but TimeEntry doesn't have anything related with >> > information retrieved by the query >> > �...@records = >> > TimeEntry.find_by_sql(create_projects_report_query(start_date, >> > end_date)) >> >> > What must I add to ProjectsReport to get it working? >> >> > -- >> > 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 [email protected]. >> > To unsubscribe from this group, send email to >> > [email protected]. >> > For more options, visit this group >> > athttp://groups.google.com/group/rubyonrails-talk?hl=en. > > -- > 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 [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. > > -- 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

