Ant*_*ton 1 ruby sql model ruby-on-rails
我正在上数据库课程,讲师希望我们开发电子商务应用程序。她说我们可以使用我们喜欢的任何框架,现在我们已经过了学期的一半,她认为 Rails 做的太多,并希望我明确地编写我的 SQL 查询。
所以,我想做的是编写自己的函数并将它们添加到模型中,以基本上复制现有的功能(但使用我自己编写的 SQL)。
那么问题就变成了:
另外,我知道这是多么糟糕的做法,我只是不想在这一点上从头开始使用 PHP。
我认为,您应该知道 2-3 种真正必要的方法来使用它。(假设我们至少有 2 个模型,订单和用户(订单的客户))例如,只是为了在您的数据库上运行查询,请使用以下命令:
Order.connection.execute("DELETE FROM orders WHERE id = '2')
Run Code Online (Sandbox Code Playgroud)
要从数据库中获取对象数量,最好的方法是使用方法“count_by_sql”,它是可扩展的。我在我的项目中使用它,其中表有超过 50 万条记录。计算应用程序的所有工作都交给了数据库,它比应用程序效率高得多。
Order.count_by_sql("SELECT COUNT(DISTINCT o.user_id) FROM orders o")
Run Code Online (Sandbox Code Playgroud)
此查询获取有订单的所有 uniq 用户的数量。我们可以“JOIN ON”表,使用“ORDER BY”对结果进行排序并对结果进行分组。
以及最常用的方法:find_by_sql
Order.find_by_sql("SELECT * FROM orders")
Run Code Online (Sandbox Code Playgroud)
它返回给你一个带有 ruby 对象的数组。
| 归档时间: |
|
| 查看次数: |
6696 次 |
| 最近记录: |