Method: Valkyrie::Persistence::Postgres::QueryService#find_members_query

Defined in:
lib/valkyrie/persistence/postgres/query_service.rb

#find_members_queryString

Note:

this uses a CROSS JOIN for all combinations of member IDs with the IDs of their parents

Generate the SQL query for retrieving member resources in PostgreSQL using a

resource ID as an argument.

This also uses JSON functions in order to retrieve JSON property values



147
148
149
150
151
152
153
154
# File 'lib/valkyrie/persistence/postgres/query_service.rb', line 147

def find_members_query
  <<-SQL
    SELECT member.* FROM orm_resources a,
    jsonb_array_elements(a.metadata->'member_ids') WITH ORDINALITY AS b(member, member_pos)
    JOIN orm_resources member ON (b.member->>'id')::#{id_type} = member.id WHERE a.id = ?
    ORDER BY b.member_pos
  SQL
end