Tôi có truy vấn SQL không phải là bảng cụ thể và tôi không biết cách xử lý nó bằng Ruby On Rails.Truy vấn SQL tùy chỉnh mà không tương ứng Bảng
đây truy vấn SQL của tôi (bạn không cần phải hiểu nó):
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
tôi đã cố gắng để tạo ra một mô hình và sử dụng một find_by_sql:
class RecentActivity ActiveRecord::Base
attr_accessor :type, :actor_id, :created_at, :photo_id, :user_id
end
tôi nhận được:
Mysql::Error: Table 'mysite_development.recent_activities' doesn't exist: SHOW FIELDS FROM `recent_activities`
Làm cách nào để tránh thông báo này? Có giải pháp thay thế nào không?
Ý anh là gì, Tôi thấy các bảng trong truy vấn đó. –
Không có bảng MySql nào có tên là recent_activities và tương ứng với mô hình. – collimarco