hello all - first of all thank you for the work you do it is greatly appreciated.
the issue i'm having is pretty straightforward. i have a complex graph query that utilizes $joinRelation to join a few nested relations which is working great.
the only issue i'm having is that it's using an inner join under the hood and i'd very much prefer it to be using a left join. is this possible? for the record, what i'm doing cannot be accomplished with $eager alone - i need $joinRelation because i need to also filter based on the relation's value. here's what the query looks like:
Person {
name: string;
job: Job; // Model.BelongsToOneRelation
}
Job {
title: string;
skill: Skill; // Model.BelongsToOneRelation
}
Skill {
name: string;
}
api.services("persons").find({
query: {
$eager: "[job.[skill]]"
$joinRelation: "[job.[skill]]"
}
});
So currently, if a given Person does not have a Job, or they have a Job and that Job does not have a Skill, that Person will not show up in the query results. The reason I need $joinRelation is so I can do this (which works great!):
api.services("persons").find({
query: {
$eager: "[job.[skill]]",
$joinRelation: "[job.[skill]]",
"job:skill.name": userInputtedSkill
}
});
I tried $leftJoinRelation with no luck - I also tried eagerOptions in the service options but Typescript wouldn't accept the property. Any help is greatly appreciated!