# Sharedmedia
# Beschreibung
Beinhaltet Infos zu geteilten Medien der Nutzer.
# altes sharedmedia-Model
Es gab keine sharedmedia-model in der alten Version
# neues Sharedmedia-Model
Anmerkung
- 🆕
# Model (json)
{
"class": "App\\Models\\Sharedmedia",
"database": "mysql",
"table": "sharedmedia",
"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": "media_id",
"type": "bigint unsigned",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"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": "chat_id",
"type": "string(36)",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "url",
"type": "string(255)",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "type",
"type": "string",
"increments": false,
"nullable": false,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": null
},
{
"name": "seen_at",
"type": "datetime",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "immutable_datetime"
},
{
"name": "expired_at",
"type": "datetime",
"increments": false,
"nullable": true,
"default": null,
"unique": false,
"fillable": true,
"hidden": false,
"appended": null,
"cast": "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": "is_expired",
"type": null,
"increments": false,
"nullable": null,
"default": null,
"unique": null,
"fillable": true,
"hidden": false,
"appended": true,
"cast": "accessor"
},
{
"name": "german_expires_at",
"type": null,
"increments": false,
"nullable": null,
"default": null,
"unique": null,
"fillable": true,
"hidden": false,
"appended": false,
"cast": "accessor"
},
{
"name": "is_seen",
"type": null,
"increments": false,
"nullable": null,
"default": null,
"unique": null,
"fillable": true,
"hidden": false,
"appended": false,
"cast": "attribute"
}
],
"relations": [
{ "name": "chat", "type": "BelongsTo", "related": "App\\Models\\Chat" },
{ "name": "events", "type": "MorphMany", "related": "App\\Models\\Event" },
{ "name": "media", "type": "BelongsTo", "related": "App\\Models\\Media" },
{ "name": "user", "type": "BelongsTo", "related": "App\\Models\\User" },
{ "name": "visitLogs", "type": "MorphMany", "related": "Shetabit\\Visitor\\Models\\Visit" },
{ "name": "activities", "type": "MorphMany", "related": "Spatie\\Activitylog\\Models\\Activity" }
],
"observers": [
{ "event": "creating", "observer": ["Closure"] },
{ "event": "created", "observer": ["Closure"] },
{ "event": "updating", "observer": ["Closure"] },
{ "event": "updated", "observer": ["Closure"] },
{ "event": "deleted", "observer": ["Closure"] },
{ "event": "restored", "observer": ["Closure"] }
]
}
# Beziehungen
- Chat - [
chat()-BelongsTo] - Event - [
event()-MorphMany] - Media - [
media()-BelongsTo] - User - [
user()-BelongsTo]
# übergeordnetes Thema
2.6 Datenstruktur