rails 奇怪的 joins

本文深入探讨了Rails中关联查询的方法,特别是如何使用joins进行复杂条件的指定,并提供了实际的例子来展示如何查找昨天创建的订单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

rails 奇怪的 joins

@wish_products = WishProduct.joins(:product).where("product_id = products.id AND customer_id = ?",current_customer.id).order('created_at DESC')

注意这里的 joins(:products) 还有以后的 products.id (复数!)

12.3 Specifying Conditions on the Joined Tables You can specify conditions on the joined tables using the regular Array and String conditions. Hash conditions provides a special syntax for specifying conditions for the joined tables:

time_range = (Time.now.midnight - 1.day)..Time.now.midnight Client.joins(:orders).where('orders.created_at' => time_range) An alternative and cleaner syntax is to nest the hash conditions:

time_range = (Time.now.midnight - 1.day)..Time.now.midnight Client.joins(:orders).where(orders: {created_at: time_range}) This will find all clients who have orders that were created yesterday, again using a BETWEEN SQL expression.

http://guides.rubyonrails.org/active_record_querying.html#specifying-conditions-on-the-joined-tables

转载于:https://my.oschina.net/kelby/blog/194189

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值