# Media
# Beschreibung
Beinhaltet ein alternativ Model für die Medien des Package spatie/laravel-medialibrary.
# altes media-Model
# old migration
CREATE TABLE `pyou_uploads` (
`upload_uuid` varchar(36) NOT NULL,
`user_uuid` varchar(36) DEFAULT NULL,
`upload_file` varchar(255) DEFAULT NULL,
`upload_name` varchar(255) DEFAULT NULL,
`upload_ext` varchar(5) DEFAULT NULL,
`upload_type` varchar(255) DEFAULT NULL,
`upload_size` int(11) DEFAULT NULL,
`upload_folder` varchar(255) DEFAULT NULL,
`upload_ts_create` timestamp NULL DEFAULT NULL,
`upload_ts_delete` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`upload_uuid`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
# neues Media-Model
Anmerkung
Functionality- Implementierung: ✅
- Erweiterung:
- kleinere Anpassungen
# Model (json)
{
"class": "App\\Models\\Media",
"database": "mysql",
"table": "media",
"policy": null,
"attributes": [
{
"name": "id",
"type": "bigint unsigned",
"increments": true,
"nullable": false,
"default": null,
"unique": true,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "int"
},
{
"name": "model_type",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "model_id",
"type": "string(36)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "uuid",
"type": "string(36)",
"increments": false,
"nullable": true,
"default": null,
"unique": true,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "collection_name",
"type": "string(255)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "name",
"type": "string(255)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "file_name",
"type": "string(255)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "mime_type",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "disk",
"type": "string(255)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "conversions_disk",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "size",
"type": "bigint unsigned",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "manipulations",
"type": "json",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "array"
},
{
"name": "custom_properties",
"type": "json",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "array"
},
{
"name": "generated_conversions",
"type": "json",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "array"
},
{
"name": "responsive_images",
"type": "json",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "array"
},
{
"name": "order_column",
"type": "integer unsigned",
"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"
}
],
"relations": [
{ "name": "sharedmedia", "type": "HasMany", "related": "App\\Models\\Sharedmedia" },
{ "name": "activities", "type": "MorphMany", "related": "Spatie\\Activitylog\\Models\\Activity" }
],
"observers": [
{
"event": "creating",
"observer": ["Closure", "Spatie\\MediaLibrary\\MediaCollections\\Models\\Observers\\MediaObserver@creating"]
},
{ "event": "created", "observer": ["Closure"] },
{
"event": "updating",
"observer": ["Closure", "Spatie\\MediaLibrary\\MediaCollections\\Models\\Observers\\MediaObserver@updating"]
},
{
"event": "updated",
"observer": ["Closure", "Spatie\\MediaLibrary\\MediaCollections\\Models\\Observers\\MediaObserver@updated"]
},
{
"event": "deleted",
"observer": ["Closure", "Spatie\\MediaLibrary\\MediaCollections\\Models\\Observers\\MediaObserver@deleted"]
},
{ "event": "deleting", "observer": ["App\\Observers\\MediaObserver@deleting"] }
]
}
# Beziehungen
- Sharedmedia - [
sharedmedia()-HasMany]
# übergeordnetes Thema
2.6 Datenstruktur