method
find_by_sql
v1.1.6 -
Show latest stable
- Class:
ActiveRecord::Base
find_by_sql(sql)public
Works like find(:all), but requires a complete SQL string. Examples:
Post.find_by_sql "SELECT p.*, c.author FROM posts p, comments c WHERE p.id = c.post_id" Post.find_by_sql ["SELECT * FROM posts WHERE author = ? AND created > ?", author_id, start_date]
2Notes
Space before the opening [
In this example
Post.find_by_sql ["SELECT title FROM posts WHERE author = ? AND created > ?", author_id, start_date]
The array is a parameter, so a space is required before the opening [, which is equivalent to write like this
Post.find_by_sql(["SELECT title FROM posts WHERE author = ? AND created > ?", author_id, start_date])
Wrong number of arguments (2 for 1)
If you get this error, wrap brackets with parentheses: Post.find_by_sql(["some query"])