# Searchmatch
# Beschreibung
Beinhaltet die Treffer von zwei Suchen.
# altes searchmatch-Model
# old migration
CREATE TABLE `pyou_matches` (
`match_uuid` varchar(36) NOT NULL,
`search_uuid` varchar(36) NOT NULL,
`candidate_uuid` varchar(36) NOT NULL,
`search_user_uuid` varchar(36) NOT NULL,
`candidate_user_uuid` varchar(36) NOT NULL,
`search_is_hidden` tinyint(1) DEFAULT 0,
`candidate_is_hidden` tinyint(1) DEFAULT 0,
`seen_ts_create` timestamp NULL DEFAULT NULL,
`match_ts_create` timestamp NULL DEFAULT NULL,
`match_ts_update` timestamp NULL DEFAULT NULL,
`match_ts_delete` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`match_uuid`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
# neues Address-Model
Anmerkung
Functionality- Implementierung: ✅
- kleinere Anpassungen
# Model (json)
{
"class": "App\\Models\\Searchmatch",
"database": "mysql",
"table": "searchmatches",
"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": "search_id",
"type": "string(36)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "candidate_id",
"type": "string(36)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "search_place_id",
"type": "string(36)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "candidate_place_id",
"type": "string(36)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "url_key",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "hidden_at",
"type": "datetime",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "company_seen_at",
"type": "datetime",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "immutable_datetime"
},
{
"name": "jobseeker_seen_at",
"type": "datetime",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "immutable_datetime"
},
{
"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": "company_has_seen",
"type": null,
"increments": false,
"nullable": null,
"default": null,
"unique": null,
"fillable": true,
"hidden": false,
"appended": false,
"cast": "attribute"
},
{
"name": "jobseeker_has_seen",
"type": null,
"increments": false,
"nullable": null,
"default": null,
"unique": null,
"fillable": true,
"hidden": false,
"appended": false,
"cast": "attribute"
}
],
"relations": [
{ "name": "search", "type": "BelongsTo", "related": "App\\Models\\Search" },
{ "name": "candidate", "type": "BelongsTo", "related": "App\\Models\\Search" },
{ "name": "searchPlace", "type": "BelongsTo", "related": "App\\Models\\Place" },
{ "name": "candidatePlace", "type": "BelongsTo", "related": "App\\Models\\Place" },
{ "name": "event", "type": "MorphOne", "related": "App\\Models\\Event" }
],
"observers": [
{ "event": "creating", "observer": ["Closure"] },
{ "event": "deleting", "observer": ["App\\Observers\\SearchmatchObserver@deleting"] }
]
}
# Beziehungen
- Search - [
candidate()-BelongsTo] - Place - [
candidatePlace()-BelongsTo] - Event - [
event()-MorphOne] - Search - [
candidate()-BelongsTo] - Place - [
searchPlace()-BelongsTo]
# übergeordnetes Thema
2.6 Datenstruktur