Я разрабатываю небольшое приложение в Rails 3. В этом приложении пользователи могут быть связаны друг с другом. В основном я использую две таблицы для хранения пользовательских данных и отношений. Я хочу искать эти таблицы с именем или фамилией, чтобы получить контакты пользователя.Поиск с подключением Rails 3
Таблица ONE - Профили
В этой таблице я хранящей ПгвЬЫате, LastName и идентификатор пользователя.
Таблица TWO - Контакты
В этой таблице я хранящий идентификатор (profile_id) пользователя и идентификатор пользователя, он подключен к (friend_id).
Я использую следующий запрос, но он не дает правильных результатов.
Profile.find_by_sql("SELECT * FROM contacts
INNER JOIN profiles ON contacts.friend_id = profiles.id WHERE profiles.firstname = '#{@keyword}' OR profiles.lastname = '#{@keyword}'")
Что не так с is и как оно может быть более эффективным?
Я думаю, что профиль нужен как для контактов, так и для друзей. : контакты будут определяться обычным способом has_many: контакты и: друзья будут вашими: контакты – Jean
это возможно, но на самом деле не очень хороший рельс. Добавить много методов бесполезно – shingara
@Shingara. Я получаю сообщение об ошибке: SQLite3 :: SQLException: нет такого столбца: contacts.firstname: SELECT "profiles". * FROM "profiles" WHERE ("контакты". "Firstname" = 'anders') AND ("контакты". "Lastname "= 'anders') –