Add $joinEager query param to fetch relations with JoinEagerAlgorithm #10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi, this makes a quick fix for #9
You can now use
$joinEager
param in the query object, and this relation will be eager loaded with SQL join, so you can actually filter based on related fields.NOTE: At the moment it doesn't work too well with
$select
, because $select refers to fields in the Model table and joinEager will add all the related entities field so ambiguous name can occur.This can however fixed easily by using the
modify
parameter in the relation, that allows to include specific fields for the related entity.Pull request includes code, test, and added
--fix
to your eslint config so spaces and such are automatically fixed. For tests, I added a newEmployee
model that belongs to existingCompany
. That DB setup for tests could probably be extracted into a helper file, but I didn't want to move too many parts around. :)What do you think? :)