Re: [Rails] has many through
On 13 November 2012 15:15, Colin Law <clanlaw@googlemail.com> wrote:
> On 13 November 2012 13:56, Werner <webagentur.laude@googlemail.com> wrote:
>> Hi Colin.
>
> Please remember to reply to the list and please don't top post, it
> makes it difficult to follow the thread. Insert your reply inline at
> appropriate points in the previous message. Thanks.
>
>>
>> 1. I ask for entries in booking with a certain project_id
>> @bookings = Booking.find_all_by_project_id(params[:id])
>> => [#<Booking id: 1, week_id: 47, project_id: 2, hour: 4>, #<Booking id: 2,
>>> week_id: 48, project_id: 2, hour: 7>]
>
> So you know how to do that ok?
>
>>
>> 2. Get the values from the table week which have the week_id from the 1 (47,
>> 48)
>
> Sorry, still don't understand what that is supposed to mean. I
> presume that you mean records rather than values and the table weeks
> rather than weeks. So you want to get the records from the table
> weeks. But that table does not have a column week_id, just id and no
> idea what you mean by "from the 1(47,48)"
Ah, I think I understand. You have a project_id in params[:id] and
you want to find the bookings and hence the weeks for that project id?
Why don't you just get the project for the id
@project = Project.find params[:id]
then the bookings, if you actually need the bookings
@bookings = @project.bookings
and/or the weeks by
@weeks = @project.weeks
Colin
>
> Colin
>
>>
>> But how to I ask that?
>>
>>
>> Am Dienstag, 13. November 2012 14:44:09 UTC+1 schrieb Colin Law:
>>>
>>> On 13 November 2012 13:34, Werner <webagent...@googlemail.com> wrote:
>>> > Hi all.
>>> > I have models:
>>> >
>>> > has_many :bookings
>>> > has_many :projects, :through => :bookings
>>> >
>>> > has_many :bookings
>>> > has_many :weeks, :through => :bookings
>>> >
>>> > belongs_to :project
>>> > belongs_to :week
>>> >
>>> > Now I want to get all coresponding entries from the bookings and weeks
>>> > table
>>> > filtered by a query.
>>> >
>>> > @bookings = Booking.find_all_by_project_id(params[:id])
>>> > => [#<Booking id: 1, week_id: 47, project_id: 2, hour: 4>, #<Booking id:
>>> > 2,
>>> > week_id: 48, project_id: 2, hour: 7>]
>>> >
>>> > I have tried soething like that:
>>> > Week.includes(:bookings).where('bookings.week_id = ?', @bookings).all
>>> > #mysql
>>> > error
>>>
>>> Can you explain again what you want to achieve, I do not understand.
>>>
>>> Colin
>>>
>>> >
>>> > How to get that working? Thanks for help.
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > --
>>> > 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 rubyonra...@googlegroups.com.
>>> > To unsubscribe from this group, send email to
>>> > rubyonrails-ta...@googlegroups.com.
>>> > To view this discussion on the web visit
>>> > https://groups.google.com/d/msg/rubyonrails-talk/-/eFNgx7qd94AJ.
>>> > For more options, visit https://groups.google.com/groups/opt_out.
>>> >
>>> >
--
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 https://groups.google.com/groups/opt_out.
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home