gpt4 book ai didi

mysql - SQLite3::SQLException:没有这样的列:parameters.user:

转载 作者:行者123 更新时间:2023-11-28 23:47:53 25 4
gpt4 key购买 nike

我正在将关注用户的列表保存到数据库中,然后尝试获取当前用户属于该列表一部分的记录,但不断收到此异常。

SQLite3::SQLException: no such column: parameters.user: SELECT "activities".* FROM "activities"  WHERE "parameters"."user" = 3

这是数据库中的一条记录

=> #<PublicActivity::Activity id: 107, trackable_id: 16, trackable_type: "Shout", owner_id: 1, owner_type: "User", key: "shout.shout", parameters: {:user=>[3]}, recipient_id: nil, recipient_type: nil, created_at: "2015-10-20 21:44:41", updated_at: "2015-10-20 21:44:41", read: false>

这些是我尝试过的查询。当前用户.id = 3

PublicActivity::Activity.where({'parameters.user' => current_user.id})

PublicActivity::Activity.where(parameters: {user: current_user.id})

所以。如何获取当前用户属于该用户列表的记录?另外,我可以在 Mysql 中使用相同的查询吗?

最佳答案

这似乎是一个愚蠢的问题,但是参数列是否定义为模型中的序列化列?使用像 MySQL 和(我相信)SQLite 这样的适配器,你不能查询序列化字段。所以如果它是你想查询的东西,你需要将它与序列化字段分开保存。

也就是说,使用 PostgreSQL 及其 rails 适配器,您可以查询序列化字段。

你应该看看这个 SO questionthis anser

关于mysql - SQLite3::SQLException:没有这样的列:parameters.user:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33247850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com