Problem/Motivation
When submitting a views exposed form that uses the FieldOrLanguageJoin plugin (as set here) an invalid SQL is produced, e.g.
media__field_tags.langcode = .langcode
This happens because ViewsQueryAlter::alterQueryForEntityType sets the leftTable property of a join plugin to null. This works for simple cases but breaks when the plugin uses a left_field in $join->extra
.
Proposed resolution
First, make it possible to set the left_table property separately for each of the $join->extra
entries (tracked in #3104598: JoinPluginBase::buildExtra breaks when left_field is a formula).
Once it's possible, scan the extra items and preserve the left_table value.
Remaining tasks
None.
User interface changes
None.
API changes
None.
Data model changes
None.
Release notes snippet
Submitting the exposed forms of views that use the FieldOrLanguageJoin plugin no longer breaks the SQL query.