My bad, this is rc-5.

Op donderdag 26 mei 2016 20:19:34 UTC+2 schreef José Valim:
>
> Which RC version? I believe this may have been fixed on more recent RCs.
>
>
>
> *José Valim*
> www.plataformatec.com.br
> Skype: jv.ptec
> Founder and Director of R&D
>
> On Thu, May 26, 2016 at 8:09 PM, <[email protected] <javascript:>> wrote:
>
>> This is Ecto 2.0.0-rc, through phoenix_ecto 3.0.0-rc.0
>>
>> Op donderdag 26 mei 2016 19:51:44 UTC+2 schreef José Valim:
>>>
>>> Which Ecto version are you using?
>>>
>>> *José Valim*
>>> www.plataformatec.com.br
>>> Skype: jv.ptec
>>> Founder and Director of R&D
>>>
>>> On Thu, May 26, 2016 at 6:30 PM, <[email protected]> wrote:
>>>
>>>> So I have been digging a little deeper and Ecto is issuing the 
>>>> following query:
>>>>
>>>> *SELECT r0."id", *snip*, o1."offer_id" FROM "rates" AS r0 INNER JOIN 
>>>> "offers_rates" AS o1 ON o1."offer_id" = ANY($1) WHERE (o1."rate_id" = 
>>>> r0."id") ORDER BY o1."offer_id" [[<<163, 3, 242, 94, 74, 2, 77, 110, 159, 
>>>> 78, 123, 64, 97, 42, 5, 33>>]]*
>>>>
>>>>
>>>> This comes up as an empty association in my code. When I do the 
>>>> following query in psql however, I do get the result I expect:
>>>>
>>>> *SELECT * FROM rates INNER JOIN offers_rates ON 
>>>> offers_rates.offer_id='a303f25e-4a02-4d6e-9f4e-7b40612a0521' WHERE 
>>>> offers_rates.rate_id = rates.id <http://rates.id>; *
>>>>
>>>>
>>>> Does this offer some more insight? 
>>>>
>>>> Op donderdag 26 mei 2016 18:09:47 UTC+2 schreef [email protected]:
>>>>
>>>>> Hi José,
>>>>>
>>>>> Thanks for the fast response. That doesn't seem to do it however. If I 
>>>>> do not preload anything, I get an error message saying that the offers 
>>>>> are 
>>>>> not preloaded. If I preload the offers, it says the rates are not 
>>>>> preloaded, and if I preload everything, with force set to true, the rates 
>>>>> are still empty. Is there anything else I can try?
>>>>>
>>>>> Op donderdag 26 mei 2016 17:07:36 UTC+2 schreef José Valim:
>>>>>>
>>>>>> Try:
>>>>>>
>>>>>>  *offers = Repo.preload(shipment, [offers: :rates], force: true)* 
>>>>>>
>>>>>> If the association was already loaded, we won't load over it.
>>>>>>
>>>>>> *José Valim*
>>>>>> www.plataformatec.com.br
>>>>>> Skype: jv.ptec
>>>>>> Founder and Director of R&D
>>>>>>
>>>>>> On Thu, May 26, 2016 at 5:05 PM, <[email protected]> wrote:
>>>>>>
>>>>>>> Hello,
>>>>>>>
>>>>>>> I have a many-to-many relationship defined as follows:
>>>>>>>
>>>>>>> *  schema "rates" do*
>>>>>>> *    many_to_many :offers, Offer, join_through: "offers_rates"*
>>>>>>> *  end*
>>>>>>>
>>>>>>>
>>>>>>> *  schema "offers" do*
>>>>>>> *    many_to_many :rates, Rate, join_through: "offers_rates"*
>>>>>>> *  end *
>>>>>>>
>>>>>>>
>>>>>>> The offers_rates table is simply a table that has a offer_id column, 
>>>>>>> and a rate_id column. I am saving records as follows:
>>>>>>>
>>>>>>> *    Enum.map rates, fn (rate) ->*
>>>>>>> *      Offer.changeset(%Offer{rates: [rate]}, %{shipment_id: 
>>>>>>> rate.shipment_id, percentage: 1.05})*
>>>>>>> *      |> Repo.insert!()*
>>>>>>> *    end *
>>>>>>>
>>>>>>>
>>>>>>> For every rate, this is generating an offer. I am association the 
>>>>>>> rates with the offer in the changeset. This seems to work as I can see 
>>>>>>> the 
>>>>>>> join table being filled properly. When I try to fetch them later, the 
>>>>>>> association is empty however:
>>>>>>>
>>>>>>>  *offers = Repo.preload(shipment, offers: :rates)* 
>>>>>>>
>>>>>>>
>>>>>>> * %Offer{rates: []} *
>>>>>>>
>>>>>>>
>>>>>>> Are these the proper ways of association records and fetching them 
>>>>>>> from the database again? Any push in the right direction is greatly 
>>>>>>> appreciated.
>>>>>>>
>>>>>>> Thanks! 
>>>>>>>
>>>>>>> -- 
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "elixir-lang-talk" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>> send an email to [email protected].
>>>>>>> To view this discussion on the web visit 
>>>>>>> https://groups.google.com/d/msgid/elixir-lang-talk/90e0e96e-a6ca-4111-b4cc-e9d180b99b6b%40googlegroups.com
>>>>>>>  
>>>>>>> <https://groups.google.com/d/msgid/elixir-lang-talk/90e0e96e-a6ca-4111-b4cc-e9d180b99b6b%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "elixir-lang-talk" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/elixir-lang-talk/589094f3-2694-4b15-9d39-03d8e4869682%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/elixir-lang-talk/589094f3-2694-4b15-9d39-03d8e4869682%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-talk/b3261972-a540-4e3f-9e0b-e3db5e57d15b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to