# Jobseeker
# Beschreibung
Beinhaltet die Arbeitnehmer:innen Informationen des Nutzerkontos.
# altes advantage-Model
# old migration
CREATE TABLE `pyou_jobseekers` (
`jobseeker_uuid` varchar(36) NOT NULL,
`user_uuid` varchar(36) DEFAULT NULL,
`jobseeker_firstname` varchar(255) DEFAULT NULL,
`jobseeker_name` varchar(255) DEFAULT NULL,
`jobseeker_anagram` varchar(12) DEFAULT NULL,
`jobseeker_currentjob` varchar(255) DEFAULT NULL,
`jobseeker_excludedcompanies` varchar(255) DEFAULT NULL,
`jobseeker_birthday` date DEFAULT NULL,
`jobseeker_autonomy` tinyint(1) DEFAULT NULL,
`jobseeker_gender` varchar(6) DEFAULT NULL,
`jobseeker_countryCode` varchar(6) DEFAULT NULL,
`contact_postalcode` varchar(255) DEFAULT NULL,
`contact_city` varchar(255) DEFAULT NULL,
`contact_street` varchar(255) DEFAULT NULL,
`contact_mobile` varchar(255) DEFAULT NULL,
`bank_owner` varchar(255) DEFAULT NULL,
`bank_iban` varchar(255) DEFAULT NULL,
`bank_bic` varchar(255) DEFAULT NULL,
`jobseeker_ts_create` timestamp NULL DEFAULT NULL,
`jobseeker_ts_update` timestamp NULL DEFAULT NULL,
`jobseeker_ts_delete` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`jobseeker_uuid`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
# neues Address-Model
Anmerkung
Functionality- Implementierung: ✅
- Erweiterung:
- kleinere Anpassungen
# Model (json)
{
"class": "App\\Models\\Jobseeker",
"database": "mysql",
"table": "jobseekers",
"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": "first_name",
"type": "string(255)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "last_name",
"type": "string(255)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "anagram",
"type": "string(255)",
"increments": false,
"nullable": false,
"default": null,
"unique": true,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "old_anagram",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "full_name",
"type": "string(255)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "knowncompany_id",
"type": "bigint unsigned",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "integer"
},
{
"name": "birthday",
"type": "date",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "date"
},
{
"name": "gender",
"type": "string",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "telephone",
"type": "string(255)",
"increments": false,
"nullable": false,
"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": "gender_name",
"type": null,
"increments": false,
"nullable": null,
"default": null,
"unique": null,
"fillable": true,
"hidden": false,
"appended": true,
"cast": "accessor"
}
],
"relations": [
{ "name": "contacts", "type": "HasMany", "related": "App\\Models\\Contact" },
{ "name": "excludedCompanies", "type": "BelongsToManySoft", "related": "App\\Models\\Knowncompany" },
{ "name": "knowncompany", "type": "BelongsTo", "related": "App\\Models\\Knowncompany" },
{ "name": "rejectedbycomanies", "type": "BelongsToManySoft", "related": "App\\Models\\Company" },
{ "name": "user", "type": "MorphOne", "related": "App\\Models\\User" },
{ "name": "userinformation", "type": "HasOne", "related": "App\\Models\\Userinformation" },
{ "name": "actions", "type": "MorphMany", "related": "Laravel\\Nova\\Actions\\ActionEvent" },
{ "name": "activities", "type": "MorphMany", "related": "Spatie\\Activitylog\\Models\\Activity" }
],
"observers": [
{ "event": "creating", "observer": ["Closure", "App\\Observers\\JobseekerObserver@creating"] },
{ "event": "created", "observer": ["Closure", "App\\Observers\\JobseekerObserver@created"] },
{ "event": "updating", "observer": ["Closure", "App\\Observers\\JobseekerObserver@updating"] },
{ "event": "updated", "observer": ["Closure"] },
{ "event": "deleted", "observer": ["Closure"] },
{ "event": "restored", "observer": ["Closure", "App\\Observers\\JobseekerObserver@restored"] },
{ "event": "saving", "observer": ["App\\Observers\\JobseekerObserver@saving"] },
{ "event": "restoring", "observer": ["App\\Observers\\JobseekerObserver@restoring"] },
{ "event": "deleting", "observer": ["App\\Observers\\JobseekerObserver@deleting"] }
]
}
# Beziehungen
- Contact - [
contacts()-HasMany] - Knowncompany - [
excludedCompanies()-BelongsToMany] - Knowncompany - [
contacts()-HasMany] - Company - [
rejectedbycomanies()-BelongsToMany] - User - [
user()-MorphOne] - Userinformation - [
userinformation()-HasOneThrough] - Usernote - [
usernotes()-HasManyThrough]
# übergeordnetes Thema
2.6 Datenstruktur