# 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

Last Updated: 9/21/2023, 6:52:37 PM