Ruby on Rails Friday, November 26, 2010

Well, I'm not a newbie developer....

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.

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.

No comments:

Post a Comment