J'ai une requête SQL qui n'est pas spécifique à une table et je ne sais pas comment la gérer avec Ruby On Rails.Requête SQL personnalisée sans table correspondante
Voici ma requête SQL (vous n'avez pas besoin de le comprendre):
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
j'ai essayé de créer un modèle et d'utiliser un find_by_sql:
class RecentActivity ActiveRecord::Base
attr_accessor :type, :actor_id, :created_at, :photo_id, :user_id
end
Je reçois:
Mysql::Error: Table 'mysite_development.recent_activities' doesn't exist: SHOW FIELDS FROM `recent_activities`
Comment puis-je éviter ce message? Y a-t-il une solution alternative?
Que voulez-vous dire, Je vois des tables dans cette requête. –
Il n'y a pas de table MySql nommée recent_activities et correspondant au modèle. – collimarco