Ruby on Rails Wednesday, May 31, 2017

Hi João,

The problem is that you don't have a field called 'projects.id' in the 'investments' table. Does your investment model belongs to one project? Then you would do 

Investment.revenues
  .where(project_id: @projects.map { |p| p.id })
  .includes(:expenses, baseline: [:project, :coordinator])

However, I need to have more information on the database schema to have a better insight. It could also be that you have a many to many relationship between projects and investments and you would need other setup for that, but it depends on how the fields are setup.

Kind regards,
/ Marco

On Wed, May 31, 2017 at 12:16 PM João Bordalo <bordalo.joao94@gmail.com> wrote:
Hi, there.

I'm trying to solve a problem that previously worked on rails 3.2 and isn't in rails 4.2:

The query is the following: 
Investment.revenues
            .where('projects.id IN (?)', @projects.map { |p| p.id })
            .includes(:expenses, :baseline => [:project, :coordinator]). 

The error is this: 
SQLite3::SQLException: no such column: projects.id: SELECT "investments".* FROM "investments" INNER JOIN "classifications" ON "classifications"."id" = "investments"."classification_id" INNER JOIN "baselines" ON "baselines"."id" = "investments"."baseline_id" WHERE "classifications"."pl_line_mask" IN (0, 1, 8, 10, 11) AND "baselines"."type_mask" = ? AND (projects.id IN (169,177,286,292,301,360,361,365,422,423,424,438,443,452,472,520,525,566,575,583,592,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,622))

I believe this error is related to how the in operator is been used. I can't find documentation related to this operator.

How can I solve this situation?


Thank you in advance,
João Bordalo

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/51bb61be-7eda-4548-9d3c-21c0652b2a61%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CACMkcE5Q0M9gsBq%3DAsMhcrUsQtLg9FpSCt5Lm21Fqik2%3DqFRrQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment