APIv4 - Support implicit joins to explicitly joined tables
authorColeman Watts <coleman@civicrm.org>
Tue, 9 Feb 2021 02:55:09 +0000 (21:55 -0500)
committerColeman Watts <coleman@civicrm.org>
Tue, 9 Feb 2021 03:08:19 +0000 (22:08 -0500)
commit7de1316125dd7076730a91783fa3d6d12b065f81
treef80c01b5353c2082a88341eb4ffe1f033d355717
parentcbda979058bb291d19efad73b703d3fcda991191
APIv4 - Support implicit joins to explicitly joined tables

In APIv4 you can imply a join through dot notation e.g. contact.display_name.
You can also explicity add a join with the addJoin() method.
This allows the two techniques to be combined so that e.g. an explicitly added Address join
can implicity select fields joined from Address to Country.
Civi/Api4/Query/Api4SelectQuery.php
Civi/Api4/Service/Schema/Joiner.php
tests/phpunit/api/v4/Action/FkJoinTest.php
tests/phpunit/api/v4/DataSets/DefaultDataSet.json