# Filter
# Beschreibung
Beinhaltet die Filter/Mögliche Angaben für die Such.
# altes filter-Model
# old migration
CREATE TABLE `pyou_filters` (
`filter_uuid` varchar(36) NOT NULL,
`business_uuid` varchar(36) NOT NULL,
`company_name` varchar(255) DEFAULT NULL,
`company_type` varchar(255) DEFAULT NULL,
`company_option` varchar(255) DEFAULT NULL,
`company_source` varchar(255) DEFAULT NULL,
`company_info` varchar(512) DEFAULT NULL,
`company_filter_order` int(11) DEFAULT NULL,
`jobseeker_name` varchar(255) DEFAULT NULL,
`jobseeker_type` varchar(255) DEFAULT NULL,
`jobseeker_option` varchar(255) DEFAULT NULL,
`jobseeker_source` varchar(255) DEFAULT NULL,
`jobseeker_info` varchar(512) DEFAULT NULL,
`jobseeker_filter_order` int(11) DEFAULT NULL,
`filter_ismandatory` int(1) DEFAULT NULL,
`filter_min` int(11) DEFAULT NULL,
`filter_max` int(11) DEFAULT NULL,
`filter_evaluation` int(3) DEFAULT NULL COMMENT '0-100',
`placeholder` varchar(36) NOT NULL,
`unit` varchar(36) NOT NULL,
`filter_ts_create` timestamp NULL DEFAULT NULL,
`filter_ts_delete` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`filter_uuid`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
# neues Filter-Model
Anmerkung
Functionality- Implementierung: ✅
- Erweiterung:
- Refactor
# Model (json)
{
"class": "App\\Models\\Filter",
"database": "mysql",
"table": "filters",
"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": "identifier",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "business_id",
"type": "string(36)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "company_name",
"type": "string(255)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "company_type",
"type": "string",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "company_info",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "company_validation",
"type": "string(255)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "company_label",
"type": "string(255)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "company_tooltip",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "company_order",
"type": "integer",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "jobseeker_name",
"type": "string(255)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "jobseeker_type",
"type": "string",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "jobseeker_column",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "jobseeker_info",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "jobseeker_validation",
"type": "string(255)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "jobseeker_label",
"type": "string(255)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "jobseeker_tooltip",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "jobseeker_order",
"type": "integer",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "is_mandatory",
"type": "boolean",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "min_value",
"type": "integer",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "max_value",
"type": "integer",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "evaluation",
"type": "integer",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "placeholder",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "unit",
"type": "string(255)",
"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"
}
],
"relations": [
{ "name": "filtervalues", "type": "HasMany", "related": "App\\Models\\Filtervalue" },
{ "name": "business", "type": "BelongsTo", "related": "App\\Models\\Business" },
{ "name": "searchfilters", "type": "HasMany", "related": "App\\Models\\Searchfilter" }
],
"observers": [{ "event": "creating", "observer": ["Closure"] }]
}
# Beziehungen
- Business - [
business()-BelongsTo] - Filtervalue - [
filtervalues()-HasMany] - Searchfilter - [
searchfilters()-HasMany]
# übergeordnetes Thema
2.6 Datenstruktur