存在于嵌套集合中,没有 ID 无法找到?

发布于 2024-09-09 05:11:42 字数 346 浏览 5 评论 0原文

大家好,另一个 Rails 问题,

当前有一个发票系统行项目的集合。如果添加已存在的项目,我想增加行项目的计数。目前我正在使用存在吗?对集合进行查询,但似乎无论键如何都会返回。

我使用的外键是 item_id,所以我尝试执行 invoice_items.exists?(:item_id => item.id)

这没有返回,所以我将其更改为 Invoice_items.find(:conditions => ["item_id == ?", item.id) 并且我得到了一个返回,如果没有invoiceItem ID,我就无法搜索。

有想法吗?

Hey guys another rails issue,

Currently have a collection that is line items for an invoicing system. I want to increment the count of the line items if I add in an item that already exists. At the moment I'm using an exists? query on the collection but it seems to return regardless of the key.

The foreign key I'm using is item_id, so I try to do invoice_items.exists?(:item_id => item.id)

This wasn't returning, so I changed it to invoice_items.find(:conditions => ["item_id == ?", item.id) and I get a return that I cannot search without invoiceItem ID.

Ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

仲春光 2024-09-16 05:11:42
conditions => ["item_id == ?", item.id

应该是

conditions => ["item_id = ?", item.id]

所以你的查询看起来像这样

invoice_items.find(:all).conditions => ["item_id = ?", item.id]
conditions => ["item_id == ?", item.id

should be

conditions => ["item_id = ?", item.id]

So your query look like this

invoice_items.find(:all).conditions => ["item_id = ?", item.id]
独闯女儿国 2024-09-16 05:11:42

您应该只需要执行“或”操作,

invoice_items.all(:conditions => ["item_id == ?", item.id])

如果

invoice_items.first(:conditions => ["item_id == ?", item.id])

,则可以使用该语法,

invoice_items.all(:conditions => {:item_id => item.id})

要使用 model.find 命令 第一个参数需要为 :all, :first:last 或您正在搜索的主键。这就是为什么我通常只在搜索 id 时更喜欢使用 Model.find,否则我使用 Model.firstModel.last >,Model.all。这样你就知道你会得到什么。

you should just need to do either

invoice_items.all(:conditions => ["item_id == ?", item.id])

OR

invoice_items.first(:conditions => ["item_id == ?", item.id])

and you can use the syntax

invoice_items.all(:conditions => {:item_id => item.id})

if you are going to use the model.find command the first parameter needs to be :all, :first, :last or the primary key you are searching for. that is why I generally prefer to use Model.find only if I am searching for an id, otherwise I use Model.first, Model.last, Model.all. That way you know what you are going to get.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文