Comments (1)
Aha, ok I think I worked this one out myself.
I just defined attributes on the parent resource and used a join. eg:
class ParentResource < ApplicationResource
# .... Other code
sort :other_thing, :string do |scope, direction|
scope.joins(:child).order("child.other_thing" => direction).select("parent.*", "child.other_thing")
end
end
Same idea should work with filters I believe.
Man Graphiti is awesome!
I would close this issue, but I just have one last question with this approach. The select seems to be required as I'm referencing the child value in the order clause. I had to have the parent.*
added in to make sure it pulls the parent fields. However this ignores the fieldset requested by the client if the client wants sparse fields.
Is there anyway to pull the select fields within the sort block?
from graphiti.
Related Issues (20)
- How to generate meta object HOT 4
- Inherited resources not rendering parent's attributes (w/ Null Adapter and polymorphism)
- Is it possible to get a list of all Resource class names? HOT 9
- Graphiti::Errors::InvalidLink HOT 1
- Sideposts fail when associating has_many resource with the `as:` option
- Ruby-3.0 splits named and positional parameters
- sideposting - associating same newly created record with multiple records that are also being created
- Sideposting- includes don't show when test with Postman
- Polymorphic has_one and has_many doesn't respect custom polymorphic_name
- Data access questions HOT 1
- Missing next page link when the resource is a postgres table has json columns HOT 1
- Proposal to allow for overriding relationship getter HOT 1
- Record ID for authorization
- Guide - Outdated external link
- can not call method with args including keyword inside attribute/extra_attribute
- Problem in namespacing controllers HOT 2
- Template for tutorials are broken
- Parsing filter values with {{}} has unwanted side effects.
- Resources with circular relationships fail to load
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graphiti.