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.

Reply via email to