2010/11/26 Eduardo Yáñez Parareda <eduardo.yanez@gmail.com>:
> 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 <clan...@googlemail.com> wrote:
>> 2010/11/26 Eduardo Yáñez Parareda <eduardo.ya...@gmail.com>:
>>
>> > 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 rubyonrails-talk@googlegroups.com.
>> > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
>> > 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 rubyonrails-talk@googlegroups.com.
> To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
> 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 rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
No comments:
Post a Comment