This commit is contained in:
Yuri Kuznetsov
2023-11-09 16:26:49 +02:00
parent bb4a93418e
commit 5aa4c8f069
2 changed files with 43 additions and 40 deletions
@@ -46,8 +46,8 @@ class Email implements FieldConverter
{
$name = $fieldDefs->getName();
$foreignJoinAlias = "{$name}{$entityType}{alias}Foreign";
$foreignJoinMiddleAlias = "{$name}{$entityType}{alias}ForeignMiddle";
$foreignJoinAlias = "$name$entityType{alias}Foreign";
$foreignJoinMiddleAlias = "$name$entityType{alias}ForeignMiddle";
$emailAddressDefs = AttributeDefs
::create($name)
@@ -125,23 +125,23 @@ class Email implements FieldConverter
'leftJoins' => [['emailAddresses', 'emailAddresses', ['primary' => true]]],
],
'selectForeign' => [
"select" => "{$foreignJoinAlias}.name",
"select" => "$foreignJoinAlias.name",
'leftJoins' => [
[
'EntityEmailAddress',
$foreignJoinMiddleAlias,
[
"{$foreignJoinMiddleAlias}.entityId:" => "{alias}.id",
"{$foreignJoinMiddleAlias}.primary" => true,
"{$foreignJoinMiddleAlias}.deleted" => false,
"$foreignJoinMiddleAlias.entityId:" => "{alias}.id",
"$foreignJoinMiddleAlias.primary" => true,
"$foreignJoinMiddleAlias.deleted" => false,
]
],
[
EmailAddress::ENTITY_TYPE,
$foreignJoinAlias,
[
"{$foreignJoinAlias}.id:" => "{$foreignJoinMiddleAlias}.emailAddressId",
"{$foreignJoinAlias}.deleted" => false,
"$foreignJoinAlias.id:" => "$foreignJoinMiddleAlias.emailAddressId",
"$foreignJoinAlias.deleted" => false,
]
]
],
@@ -258,23 +258,23 @@ class Email implements FieldConverter
'leftJoins' => [['emailAddresses', 'emailAddresses', ['primary' => true]]],
],
'selectForeign' => [
'select' => "{$foreignJoinAlias}.optOut",
'select' => "$foreignJoinAlias.optOut",
'leftJoins' => [
[
'EntityEmailAddress',
$foreignJoinMiddleAlias,
[
"{$foreignJoinMiddleAlias}.entityId:" => "{alias}.id",
"{$foreignJoinMiddleAlias}.primary" => true,
"{$foreignJoinMiddleAlias}.deleted" => false,
"$foreignJoinMiddleAlias.entityId:" => "{alias}.id",
"$foreignJoinMiddleAlias.primary" => true,
"$foreignJoinMiddleAlias.deleted" => false,
]
],
[
EmailAddress::ENTITY_TYPE,
$foreignJoinAlias,
[
"{$foreignJoinAlias}.id:" => "{$foreignJoinMiddleAlias}.emailAddressId",
"{$foreignJoinAlias}.deleted" => false,
"$foreignJoinAlias.id:" => "$foreignJoinMiddleAlias.emailAddressId",
"$foreignJoinAlias.deleted" => false,
]
]
],
@@ -318,23 +318,23 @@ class Email implements FieldConverter
'leftJoins' => [['emailAddresses', 'emailAddresses', ['primary' => true]]],
],
'selectForeign' => [
'select' => "{$foreignJoinAlias}.invalid",
'select' => "$foreignJoinAlias.invalid",
'leftJoins' => [
[
'EntityEmailAddress',
$foreignJoinMiddleAlias,
[
"{$foreignJoinMiddleAlias}.entityId:" => "{alias}.id",
"{$foreignJoinMiddleAlias}.primary" => true,
"{$foreignJoinMiddleAlias}.deleted" => false,
"$foreignJoinMiddleAlias.entityId:" => "{alias}.id",
"$foreignJoinMiddleAlias.primary" => true,
"$foreignJoinMiddleAlias.deleted" => false,
]
],
[
EmailAddress::ENTITY_TYPE,
$foreignJoinAlias,
[
"{$foreignJoinAlias}.id:" => "{$foreignJoinMiddleAlias}.emailAddressId",
"{$foreignJoinAlias}.deleted" => false,
"$foreignJoinAlias.id:" => "$foreignJoinMiddleAlias.emailAddressId",
"$foreignJoinAlias.deleted" => false,
]
]
],
@@ -38,6 +38,9 @@ use Espo\ORM\Defs\FieldDefs;
use Espo\ORM\Type\AttributeType;
use Espo\ORM\Type\RelationType;
/**
* @noinspection PhpUnused
*/
class Phone implements FieldConverter
{
private const COLUMN_ENTITY_TYPE_LENGTH = 100;
@@ -46,8 +49,8 @@ class Phone implements FieldConverter
{
$name = $fieldDefs->getName();
$foreignJoinAlias = "{$name}{$entityType}{alias}Foreign";
$foreignJoinMiddleAlias = "{$name}{$entityType}{alias}ForeignMiddle";
$foreignJoinAlias = "$name$entityType{alias}Foreign";
$foreignJoinMiddleAlias = "$name$entityType{alias}ForeignMiddle";
$emailAddressDefs = AttributeDefs
::create($name)
@@ -134,23 +137,23 @@ class Phone implements FieldConverter
'leftJoins' => [['phoneNumbers', 'phoneNumbers', ['primary' => true]]],
],
'selectForeign' => [
"select" => "{$foreignJoinAlias}.name",
"select" => "$foreignJoinAlias.name",
'leftJoins' => [
[
'EntityPhoneNumber',
$foreignJoinMiddleAlias,
[
"{$foreignJoinMiddleAlias}.entityId:" => "{alias}.id",
"{$foreignJoinMiddleAlias}.primary" => true,
"{$foreignJoinMiddleAlias}.deleted" => false,
"$foreignJoinMiddleAlias.entityId:" => "{alias}.id",
"$foreignJoinMiddleAlias.primary" => true,
"$foreignJoinMiddleAlias.deleted" => false,
]
],
[
PhoneNumber::ENTITY_TYPE,
$foreignJoinAlias,
[
"{$foreignJoinAlias}.id:" => "{$foreignJoinMiddleAlias}.phoneNumberId",
"{$foreignJoinAlias}.deleted" => false,
"$foreignJoinAlias.id:" => "$foreignJoinMiddleAlias.phoneNumberId",
"$foreignJoinAlias.deleted" => false,
]
]
],
@@ -267,23 +270,23 @@ class Phone implements FieldConverter
'leftJoins' => [['phoneNumbers', 'phoneNumbers', ['primary' => true]]],
],
'selectForeign' => [
'select' => "{$foreignJoinAlias}.optOut",
'select' => "$foreignJoinAlias.optOut",
'leftJoins' => [
[
'EntityPhoneNumber',
$foreignJoinMiddleAlias,
[
"{$foreignJoinMiddleAlias}.entityId:" => "{alias}.id",
"{$foreignJoinMiddleAlias}.primary" => true,
"{$foreignJoinMiddleAlias}.deleted" => false,
"$foreignJoinMiddleAlias.entityId:" => "{alias}.id",
"$foreignJoinMiddleAlias.primary" => true,
"$foreignJoinMiddleAlias.deleted" => false,
]
],
[
PhoneNumber::ENTITY_TYPE,
$foreignJoinAlias,
[
"{$foreignJoinAlias}.id:" => "{$foreignJoinMiddleAlias}.phoneNumberId",
"{$foreignJoinAlias}.deleted" => false,
"$foreignJoinAlias.id:" => "$foreignJoinMiddleAlias.phoneNumberId",
"$foreignJoinAlias.deleted" => false,
]
]
],
@@ -327,23 +330,23 @@ class Phone implements FieldConverter
'leftJoins' => [['phoneNumbers', 'phoneNumbers', ['primary' => true]]],
],
'selectForeign' => [
'select' => "{$foreignJoinAlias}.invalid",
'select' => "$foreignJoinAlias.invalid",
'leftJoins' => [
[
'EntityPhoneNumber',
$foreignJoinMiddleAlias,
[
"{$foreignJoinMiddleAlias}.entityId:" => "{alias}.id",
"{$foreignJoinMiddleAlias}.primary" => true,
"{$foreignJoinMiddleAlias}.deleted" => false,
"$foreignJoinMiddleAlias.entityId:" => "{alias}.id",
"$foreignJoinMiddleAlias.primary" => true,
"$foreignJoinMiddleAlias.deleted" => false,
]
],
[
PhoneNumber::ENTITY_TYPE,
$foreignJoinAlias,
[
"{$foreignJoinAlias}.id:" => "{$foreignJoinMiddleAlias}.phoneNumberId",
"{$foreignJoinAlias}.deleted" => false,
"$foreignJoinAlias.id:" => "$foreignJoinMiddleAlias.phoneNumberId",
"$foreignJoinAlias.deleted" => false,
]
]
],