# Userinformation
# Beschreibung
Beinhaltet zusätzliche Informationen zum Nutzer.
# altes userinformation-Model
# old migration
CREATE TABLE `pyou_userinformation` (
`userinformation_uuid` varchar(36) NOT NULL,
`user_uuid` varchar(36) NOT NULL,
`userinformation_note` text CHARACTER SET utf8,
`telephone_verified_by` varchar(36) NULL DEFAULT NULL,
`email_verified_by` varchar(36) NULL DEFAULT NULL,
`search_verified_by` varchar(36) NULL DEFAULT NULL,
`telephone_ts_verified` timestamp NULL DEFAULT NULL,
`email_ts_verified` timestamp NULL DEFAULT NULL,
`search_ts_verified` timestamp NULL DEFAULT NULL,
`contact_partner` varchar(36) DEFAULT NULL,
`user_support_score` tinyint(1) DEFAULT NULL,
`userinformation_tags` varchar(1024) DEFAULT NULL,
`contact_options` varchar(255) DEFAULT NULL,
`contact_days` varchar(255) DEFAULT NULL,
`contact_time_ts_from` timestamp NULL DEFAULT NULL,
`contact_time_ts_to` timestamp NULL DEFAULT NULL,
`userinformation_last_updated_by` varchar(36) NULL DEFAULT NULL,
`userinformation_ts_create` timestamp NULL DEFAULT NULL,
`userinformation_ts_update` timestamp NULL DEFAULT NULL,
`userinformation_ts_delete` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`userinformation_uuid`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
# neues Userinformation-Model
Anmerkung
Functionality- Implementierung: ✅
- Erweiterung:
- kleinere Anpassungen
# Model (json)
{
"class": "App\\Models\\Userinformation",
"database": "mysql",
"table": "userinformations",
"policy": null,
"attributes": [
{
"name": "id",
"type": "string(36)",
"increments": false,
"nullable": false,
"default": null,
"unique": true,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "user_id",
"type": "string(36)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "contact_partner",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "note",
"type": "text(65535)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "support_score",
"type": "boolean",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "last_updated_by",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "telephone_verified_by",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "email_verified_by",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "search_verified_by",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "telephone_verified_at",
"type": "datetime",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "immutable_datetime"
},
{
"name": "email_verified_at",
"type": "datetime",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "immutable_datetime"
},
{
"name": "search_verified_at",
"type": "datetime",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "immutable_datetime"
},
{
"name": "away_since",
"type": "datetime",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "immutable_datetime"
},
{
"name": "away_note",
"type": "text(65535)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "contact_note",
"type": "text(65535)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "created_at",
"type": "datetime",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "datetime"
},
{
"name": "updated_at",
"type": "datetime",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "datetime"
},
{
"name": "deleted_at",
"type": "datetime",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "datetime"
},
{
"name": "is_away",
"type": null,
"increments": false,
"nullable": null,
"default": null,
"unique": null,
"fillable": true,
"hidden": false,
"appended": false,
"cast": "accessor"
},
{
"name": "email_is_verified",
"type": null,
"increments": false,
"nullable": null,
"default": null,
"unique": null,
"fillable": true,
"hidden": false,
"appended": false,
"cast": "attribute"
},
{
"name": "search_is_verified",
"type": null,
"increments": false,
"nullable": null,
"default": null,
"unique": null,
"fillable": true,
"hidden": false,
"appended": false,
"cast": "attribute"
},
{
"name": "telephone_is_verified",
"type": null,
"increments": false,
"nullable": null,
"default": null,
"unique": null,
"fillable": true,
"hidden": false,
"appended": false,
"cast": "attribute"
}
],
"relations": [
{ "name": "usernotes", "type": "HasMany", "related": "App\\Models\\Usernote" },
{ "name": "user", "type": "BelongsTo", "related": "App\\Models\\User" },
{ "name": "userinformationtags", "type": "BelongsToManySoft", "related": "App\\Models\\Userinformationtag" },
{ "name": "actions", "type": "MorphMany", "related": "Laravel\\Nova\\Actions\\ActionEvent" },
{ "name": "activities", "type": "MorphMany", "related": "Spatie\\Activitylog\\Models\\Activity" }
],
"observers": [
{ "event": "creating", "observer": ["Closure"] },
{ "event": "created", "observer": ["Closure"] },
{ "event": "updating", "observer": ["Closure"] },
{ "event": "updated", "observer": ["Closure"] },
{ "event": "deleted", "observer": ["Closure"] },
{ "event": "restored", "observer": ["Closure"] }
]
}
# Beziehungen
- Usernote - [
usernotes()-HasMany] - User - [
user()-BelongsTo] - Userinformationtag - [
userinformationtags()-BelongsToMany]
# übergeordnetes Thema
2.6 Datenstruktur