Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Rails中,如何使用作用域来获取has\u many关系中的最后一个(最高id)?_Ruby On Rails_Ruby On Rails 4_Activerecord - Fatal编程技术网

Ruby on rails 在Rails中,如何使用作用域来获取has\u many关系中的最后一个(最高id)?

Ruby on rails 在Rails中,如何使用作用域来获取has\u many关系中的最后一个(最高id)?,ruby-on-rails,ruby-on-rails-4,activerecord,Ruby On Rails,Ruby On Rails 4,Activerecord,每个客户都有许多订单s 如何加载所有客户端以及每个客户端的最后一个(最高id)订单 以下情况不起作用: Client.includes( :orders ).where( 'orders.count > 0' ) 及 我想您需要一个连接,而不是一个急切的负载来查询这样的关联 Client.joins(:orders)。其中('orders.count>?',0) 另一件事,如果表名与关联名不同,则需要将表名用于具有“orders.count”的订单,而不是订单,但保持联接(:orders

每个
客户
都有许多
订单
s

如何加载所有客户端以及每个客户端的最后一个(最高id)订单

以下情况不起作用:

Client.includes( :orders ).where( 'orders.count > 0' )


我想您需要一个连接,而不是一个急切的负载来查询这样的关联

Client.joins(:orders)。其中('orders.count>?',0)


另一件事,如果表名与关联名不同,则需要将表名用于具有“orders.count”的订单,而不是订单,但保持联接(:orders)不变

我想您需要一个连接,而不是一个急切的负载来查询这样的关联

Client.joins(:orders)。其中('orders.count>?',0)

另一件事,如果表名与关联名不同,则需要将表名用于具有“orders.count”的订单,而不是订单,但保持联接(:orders)不变

Client.includes( :orders ).where( orders: 'count > 0 ' )