Javascript 如何使用where子句查看postgres数组类型列中是否存在id
我想做的是,在另外两个表上加入一个“事件”表:“用户”和“位置”。 每个“事件”都发生在特定的时间和特定的“位置”,用户需要加入,以便知道事件将在哪里发生。并且也是由特定的“用户”创建的。该用户碰巧有一个名为亲密朋友的用户ID数组。三个表格如下:Javascript 如何使用where子句查看postgres数组类型列中是否存在id,javascript,node.js,arrays,postgresql,knex.js,Javascript,Node.js,Arrays,Postgresql,Knex.js,我想做的是,在另外两个表上加入一个“事件”表:“用户”和“位置”。 每个“事件”都发生在特定的时间和特定的“位置”,用户需要加入,以便知道事件将在哪里发生。并且也是由特定的“用户”创建的。该用户碰巧有一个名为亲密朋友的用户ID数组。三个表格如下: Events table =================================================== Column | Type | ---------
Events table
===================================================
Column | Type |
-----------------------+--------------------------+
id | integer |
location_id | integer |
guests | integer |
hide_from | integer[] |
only_close_friends | boolean |
is_public | boolean |
min_viable_population | integer |
max_viable_population | integer |
created_by | integer |
sport_type | text |
whats_needed | text[] |
happens_at | timestamp with time zone |
created_at | timestamp with time zone |
updated_at | timestamp with time zone |
updated_by | integer |
___________________________________________________
Users table
===========================================
Column | Type |
---------------+--------------------------+
id | integer |
username | text |
password_hash | text |
first_name | text |
last_name | text |
gender | text |
photo | text |
city | text |
bio | text |
height | integer |
sports | text[] |
photos | text[] |
friends | integer[] |
close_friends | integer[] |
scopes | text[] |
verified | boolean |
created_at | timestamp with time zone |
updated_at | timestamp with time zone |
updated_by | integer |
___________________________________________
Locations table
==========================================
Column | Type |
---------------+--------------------------+
id | integer |
name | text |
maps_url | text |
city | text |
region | text |
cost | text |
photo | text |
meta | text |
sport_types | text[] |
girls_allowed | boolean |
verified | boolean |
created_at | timestamp with time zone |
created_by | integer |
updated_at | timestamp with time zone |
updated_by | integer |
现在,用户应该能够创建仅对其好友可见的事件。我想做的是只获取造物主亲密朋友看到的事件
为了让您全面了解我试图实现的目标,我将向您提供一个代码块,该代码块看起来不错,但返回一个“运算符不存在”错误 注
“用户id”是正确登录用户的id。在朋友的帮助下,我找到了一个简单的解决方案:
.whereRaw('? = ANY(users.close_friends)',[user_id])
.whereRaw('? = ANY(users.close_friends)',[user_id])