17

我想收集 Braintree 客户的所有订阅。当我浏览到网关中的客户页面时,我可以看到他们的订阅,但似乎没有类似的方法subscriptions存在 for Braintree::Customer,或者我可以搜索Braintree::Subscriptionsby customer_id

有一些迂回的方法可以访问客户的所有订阅,但它们非常慢。例如,我可以检索客户的所有交易,并为每个交易获取subscription_id(如果存在),然后检索具有该 ID 的订阅。这涉及到与 Braintree API 的大量通信,我希望有一个更有效的解决方案。

哦,我正在用 Rails 编程,但这个问题似乎不是 Rails 特有的。

4

1 回答 1

29

我在布伦特里工作。

客户有一个credit_cards数组,每张信用卡都有一个subscriptions数组。因此,如果您想要一个客户的所有订阅,您可以执行以下操作:

customer.credit_cards.map(&:subscriptions).flatten
于 2013-04-09T21:08:21.447 回答