activerecord postgres将jsonb加入jsonb

时间:2016-04-14 18:06:30

标签: ruby-on-rails postgresql activerecord

我正在尝试使用jsonb数据类型连接两个表列。

User.create(emails: ['foo@bar.com', 'foo2@bar2.com']) Email.create(to: [{email: 'foo@bar.com', name: 'foo bar'}, {email: 'foo3@bar3.com', name: 'foo bar3'}], from: 'foobar@bar.com')

我试过了:

joins("LEFT JOIN emails ON (users.emails ? emails.from_email OR emails.to->'email') ?| users.emails")

我得到:ActiveRecord :: StatementInvalid:PG :: DatatypeMismatch:ERROR:OR的参数必须是boolean类型,而不是类型jsonb

我也尝试过做一个地方而不是:

email_addresses = User.last.pluck(:emails).flatten emails = Email.where("(to->'email' ?| :email_addresses OR from ?| :email_addresses)", email_addresses: email_addresses )

获取ActiveRecord :: StatementInvalid:PG :: SyntaxError:ERROR:语法错误在"到"或#34;。我假设这是因为列是一个对象数组..不知道如何通过数组部分。

0 个答案:

没有答案