# Presentation
# Beschreibung
Beinhaltet die Informationen zu der Partnervorstellung des Arbeitgeber.
# altes presentation-Model
# old migration
CREATE TABLE `pyou_companypresentations` (
`companypresentation_uuid` varchar(36) NOT NULL,
`company_uuid` varchar(36) DEFAULT NULL,
`company_benefits` varchar(250) DEFAULT '[""]',
`presentation_is_valid` tinyint(1) DEFAULT NULL,
`presentation_is_template` tinyint(1) DEFAULT NULL,
`presentation_of_the_week` tinyint(1) DEFAULT NULL,
`presentation_otw_ts_from` timestamp NULL DEFAULT NULL,
`presentation_otw_ts_to` timestamp NULL DEFAULT NULL,
`company_logo_upload_uuid` varchar(250) DEFAULT NULL,
`company_logo_name` varchar(500) DEFAULT NULL,
`company_logo_file` varchar(250) DEFAULT NULL,
`company_header_upload_uuid` varchar(250) DEFAULT NULL,
`company_header_file` varchar(250) DEFAULT 'assets/dist/presentation/default-header-3.jpg',
`company_about_text` varchar(1100) DEFAULT NULL,
`company_more_info` text DEFAULT NULL,
`facebook_account` varchar(250) DEFAULT NULL,
`instagram_account` varchar(250) DEFAULT NULL,
`twitter_account` varchar(250) DEFAULT NULL,
`youtube_account` varchar(250) DEFAULT NULL,
`py_blog_account` varchar(250) DEFAULT NULL,
`company_reasons` varchar(1100) DEFAULT 'a:5:{i:0;s:0:"";i:1;s:0:"";i:2;s:0:"";i:3;s:0:"";i:4;s:0:"";}',
`company_response_1` varchar(1100) DEFAULT NULL,
`company_response_2` varchar(1100) DEFAULT NULL,
`company_response_3` varchar(1100) DEFAULT NULL,
`company_response_4` varchar(1100) DEFAULT NULL,
`company_response_5` varchar(1100) DEFAULT NULL,
`company_response_6` varchar(1100) DEFAULT NULL,
`company_response_7` varchar(1100) DEFAULT NULL,
`company_response_8` varchar(1100) DEFAULT NULL,
`company_response_9` varchar(1100) DEFAULT NULL,
`company_response_10` varchar(1100) DEFAULT NULL,
`company_response_11` varchar(1100) DEFAULT NULL,
`company_response_12` varchar(1100) DEFAULT NULL,
`company_response_13` varchar(1100) DEFAULT NULL,
`company_response_14` varchar(1100) DEFAULT NULL,
`companypresentation_ts_create` timestamp NULL DEFAULT NULL,
`companypresentation_ts_update` timestamp NULL DEFAULT NULL,
`companypresentation_ts_delete` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`companypresentation_uuid`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
# neues Address-Model
Anmerkung
Functionality- Implementierung: ✅
- Auslagerung von Interview, Reasons, Video, Logo, Socialaccount
# Model (json)
{
"class": "App\\Models\\Presentation",
"database": "mysql",
"table": "presentations",
"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": "company_id",
"type": "string(36)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "is_valid_at",
"type": "datetime",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "immutable_datetime"
},
{
"name": "is_published_at",
"type": "datetime",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "immutable_datetime"
},
{
"name": "about_text",
"type": "text(65535)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "more_info",
"type": "text(65535)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "default_heroimage",
"type": "boolean",
"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": "presentation_public",
"type": null,
"increments": false,
"nullable": null,
"default": null,
"unique": null,
"fillable": true,
"hidden": false,
"appended": true,
"cast": "accessor"
},
{
"name": "is_valid",
"type": null,
"increments": false,
"nullable": null,
"default": null,
"unique": null,
"fillable": true,
"hidden": false,
"appended": true,
"cast": "attribute"
},
{
"name": "is_published",
"type": null,
"increments": false,
"nullable": null,
"default": null,
"unique": null,
"fillable": true,
"hidden": false,
"appended": true,
"cast": "attribute"
}
],
"relations": [
{ "name": "benefits", "type": "BelongsToManySoft", "related": "App\\Models\\Benefit" },
{ "name": "company", "type": "BelongsTo", "related": "App\\Models\\Company" },
{ "name": "companyreasons", "type": "HasMany", "related": "App\\Models\\Companyreason" },
{ "name": "companyvideos", "type": "HasMany", "related": "App\\Models\\Companyvideo" },
{ "name": "interviewquestions", "type": "BelongsToManySoft", "related": "App\\Models\\Interviewquestion" },
{ "name": "presentationOfTheWeeks", "type": "HasMany", "related": "App\\Models\\PresentationOfTheWeek" },
{ "name": "visitLogs", "type": "MorphMany", "related": "Shetabit\\Visitor\\Models\\Visit" },
{ "name": "media", "type": "MorphMany", "related": "App\\Models\\Media" },
{ "name": "activities", "type": "MorphMany", "related": "Spatie\\Activitylog\\Models\\Activity" }
],
"observers": [
{ "event": "creating", "observer": ["Closure"] },
{ "event": "deleting", "observer": ["Closure"] },
{ "event": "created", "observer": ["Closure"] },
{ "event": "updating", "observer": ["Closure"] },
{ "event": "updated", "observer": ["Closure"] },
{ "event": "deleted", "observer": ["Closure"] },
{ "event": "restored", "observer": ["Closure"] }
]
}
# Beziehungen
- Benefit - [
benefits()-BelongsToMany] - Company - [
company()-BelongsTo] - Companyreason - [
companyreasons()-HasMany] - Companyvideo - [
companyvideos()-HasMany] - Interviewquestion - [
interviewquestions()-BelongsToMany] - PresentationOfTheWeek - [
presentationOfTheWeeks()-HasMany]
# übergeordnetes Thema
2.6 Datenstruktur