Comments (2)
I think this is expected behaviour. Fluent makes no guarantees about how eager loading works (we would like to use joins where possible in the future for example) and we can change the implementations under the hood. There are a lot of assumptions in Fluent about constraints as well so using an @OptionalParent
with a ID that doesn't exist (instead of it being nil
- that's your issue correct?) would break some of Fluent's internals.
You're probably best off using an @OptionalField
instead to hold the ID and doing the lookups yourself, including handling if that ID is not valid
from fluent.
It sounds essentially as if you're hoping to get the effect of a left outer join
, while the Fluent relation properties are designed to provide the effect of an inner join
.
If you want this behavior, you can copy the contents of OptionalParent.swift
into a new file in your project, rename the wrapper (maybe something like @UncheckedOptionalParent
), and replace the logic that throws an error with your preferred outcome. This being said, Fluent does not officially support third-party packages providing custom property wrappers, so I can't promise that doing this will continue to work on an ongoing basis. (Although, I do use several custom wrappers in external projects myself, so odds are I won't break the ability to do so too badly 😅.)
from fluent.
Related Issues (20)
- No exact matches in call to instance method **'filter'** HOT 2
- How to export data to a file HOT 1
- ID Field (UUID) not automatically generating HOT 1
- How to compare Date? HOT 21
- jknnnn
- Extend ModelCredentialsAuthenticatable with async authenticator
- Model middleware lifecycle event delete not called on siblings detach and detachAll HOT 2
- Error on delete when joining a table due to missing join operation in query
- Does Fluent need to depend on Vapor itself? HOT 2
- Unable to specify which field to filter on within a self-relating sibling HOT 2
- Concurrency Swift 5.7 - Any plans to include AsyncMap HOT 3
- Missing Inline Documentation
- Where is .alsoDecode ? HOT 1
- Support iOS platform missing
- Support reverting a migration on a specific database
- server: column "id" specified more than once (checkInsertTargets) HOT 3
- Fluent Session driver doesn't provide any way to remove old sessions HOT 3
- receive different sql statements, for equal valid fluent ones HOT 2
- fluent psql updated constraint is not accessible HOT 1
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 fluent.