fix the address type (db and model)

This commit is contained in:
Dennis Eichhorn 2020-10-18 20:52:19 +02:00
parent 25fd465ace
commit 38ff0c89c3
3 changed files with 101 additions and 10 deletions

View File

@ -42,8 +42,18 @@
"primary": true, "primary": true,
"autoincrement": true "autoincrement": true
}, },
"address_street": { "address_name": {
"name": "address_street", "name": "address_name",
"type": "VARCHAR(255)",
"null": false
},
"address_addition": {
"name": "address_addition",
"type": "VARCHAR(255)",
"null": false
},
"address_address": {
"name": "address_address",
"type": "VARCHAR(255)", "type": "VARCHAR(255)",
"null": false "null": false
}, },
@ -55,7 +65,8 @@
"address_state": { "address_state": {
"name": "address_state", "name": "address_state",
"type": "VARCHAR(255)", "type": "VARCHAR(255)",
"null": false "null": true,
"default": null
}, },
"address_city": { "address_city": {
"name": "address_city", "name": "address_city",
@ -64,9 +75,16 @@
}, },
"address_country": { "address_country": {
"name": "address_country", "name": "address_country",
"type": "INT", "type": "VARCHAR(2)",
"null": true,
"default": null,
"foreignTable": "country", "foreignTable": "country",
"foreignKey": "country_id" "foreignKey": "country_code2"
},
"address_type": {
"name": "address_type",
"type": "INT",
"null": false
} }
} }
}, },
@ -615,7 +633,7 @@
}, },
"account_name1": { "account_name1": {
"name": "account_name1", "name": "account_name1",
"type": "VARCHAR(50)", "type": "VARCHAR(255)",
"null": false, "null": false,
"annotations": { "annotations": {
"gdpr": true "gdpr": true
@ -623,7 +641,7 @@
}, },
"account_name2": { "account_name2": {
"name": "account_name2", "name": "account_name2",
"type": "VARCHAR(50)", "type": "VARCHAR(255)",
"null": false, "null": false,
"annotations": { "annotations": {
"gdpr": true "gdpr": true
@ -631,7 +649,7 @@
}, },
"account_name3": { "account_name3": {
"name": "account_name3", "name": "account_name3",
"type": "VARCHAR(50)", "type": "VARCHAR(255)",
"null": false, "null": false,
"annotations": { "annotations": {
"gdpr": true "gdpr": true

View File

@ -26,4 +26,71 @@ use phpOMS\Stdlib\Base\Location;
*/ */
class Address extends Location class Address extends Location
{ {
/**
* Name.
*
* @var string
* @since 1.0.0
*/
protected string $name = '';
/**
* Addition.
*
* @var string
* @since 1.0.0
*/
protected string $addition = '';
/**
* Get name
*
* @return string
*
* @since 1.0.0
*/
public function getName() : string
{
return $this->name;
}
/**
* Set name
*
* @param string $name Name
*
* @return void
*
* @since 1.0.0
*/
public function setName(string $name) : void
{
$this->name = $name;
}
/**
* Get addition
*
* @return string
*
* @since 1.0.0
*/
public function getAddition() : string
{
return $this->addition;
}
/**
* Set addition
*
* @param string $addition Addition
*
* @return void
*
* @since 1.0.0
*/
public function setAddition(string $addition) : void
{
$this->addition = $addition;
}
} }

View File

@ -35,11 +35,14 @@ final class AddressMapper extends DataMapperAbstract
*/ */
protected static array $columns = [ protected static array $columns = [
'address_id' => ['name' => 'address_id', 'type' => 'int', 'internal' => 'id'], 'address_id' => ['name' => 'address_id', 'type' => 'int', 'internal' => 'id'],
'address_street' => ['name' => 'address_street', 'type' => 'string', 'internal' => 'address'], 'address_name' => ['name' => 'address_name', 'type' => 'string', 'internal' => 'name'],
'address_addition' => ['name' => 'address_addition', 'type' => 'string', 'internal' => 'addition'],
'address_address' => ['name' => 'address_address', 'type' => 'string', 'internal' => 'address'],
'address_postal' => ['name' => 'address_postal', 'type' => 'string', 'internal' => 'postal'], 'address_postal' => ['name' => 'address_postal', 'type' => 'string', 'internal' => 'postal'],
'address_state' => ['name' => 'address_state', 'type' => 'string', 'internal' => 'state'], 'address_state' => ['name' => 'address_state', 'type' => 'string', 'internal' => 'state'],
'address_city' => ['name' => 'address_city', 'type' => 'string', 'internal' => 'city'], 'address_city' => ['name' => 'address_city', 'type' => 'string', 'internal' => 'city'],
'address_country' => ['name' => 'address_country', 'type' => 'int', 'internal' => 'country'], 'address_country' => ['name' => 'address_country', 'type' => 'string', 'internal' => 'country'],
'address_type' => ['name' => 'address_type', 'type' => 'int', 'internal' => 'type'],
]; ];
/** /**
@ -52,6 +55,9 @@ final class AddressMapper extends DataMapperAbstract
'country' => [ 'country' => [
'mapper' => CountryMapper::class, 'mapper' => CountryMapper::class,
'self' => 'address_country', 'self' => 'address_country',
'by' => 'code2',
'column' => 'code2',
'conditional' => true,
], ],
]; ];