Method: Valkyrie::Persistence::Postgres::QueryService#find_members_query
- Defined in:
- lib/valkyrie/persistence/postgres/query_service.rb
#find_members_query ⇒ String
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 |