Mam zapytanie SQL, które nie jest specyficzne dla tabeli i nie wiem, jak sobie z tym poradzić z Ruby On Rails.Niestandardowe zapytanie SQL bez odpowiedniej tabeli
Oto moje zapytanie SQL (nie trzeba go zrozumieć):
SELECT type, actor_id, events.created_at, photo_id, photos.user_id FROM (SELECT 'comment' AS type, user_id AS actor_id, created_at, photo_id FROM comments UNION SELECT 'classification' AS type, user_id AS actor_id, created_at, photo_id FROM classifications) AS events INNER JOIN photos ON photo_id = photos.id WHERE user_id = #{@user.id} ORDER BY created_at DESC LIMIT 9
Starałem się stworzyć model i używać find_by_sql:
class RecentActivity ActiveRecord::Base
attr_accessor :type, :actor_id, :created_at, :photo_id, :user_id
end
uzyskać:
Mysql::Error: Table 'mysite_development.recent_activities' doesn't exist: SHOW FIELDS FROM `recent_activities`
Jak mogę uniknąć tej wiadomości? Czy istnieje jakieś alternatywne rozwiązanie?
Co masz na myśli, Widzę tabele w tym zapytaniu. –
Nie ma żadnej tabeli MySQL, która nazywa się recent_activities i odpowiada modelowi. – collimarco