sql
  • ruby-on-rails
  • 2015-10-09 16 views 0 likes 
    0

    У меня есть модель User, которая имеет отношения __отношения с моделью Identity. Я хочу выполнить запрос includes с предложением where.where clause with includes

    User.includes(:identities).where("identities.provider = 'facebook') 
    

    Но это дает мне ошибку.

    PG::UndefinedTable: ERROR: missing FROM-clause entry for table "identities"

    в то время как он работает отлично с соединениями

    User.joins(:identities).where("identities.provider = 'facebook') 
    

    Я не хочу использовать сферу. Я просто хочу использовать where, как я делаю с предложением joins.

    ответ

    2

    От APIdoc

    If you want to add conditions to your included models you’ll have to explicitly reference them

    При использовании includes с условий, то вам нужно добавить .references в конце. Нижеследующее должно работать

    User.includes(:identities).where('identities.provider = ?', 'facebook').references(:identities) 
    
    +0

    Есть ли специальная причина для добавления ссылок? почему мы не можем сделать это, как нормальное соединение – mudasir

    Смежные вопросы