AsArrayObject::class]; //------------------------------------------------------------ // -- RELATED TO RELATIONSHIP /// HAS ONE public function new_tv_request(): HasOne { return $this->hasOne(NewTvRequest::class, 'tv_fk', 'id'); } public function tv_app_info(): HasOne { return $this->hasOne(TvAppInfo::class, 'tv_fk', 'id'); } /// HAS MANY public function tv_connect_logs(): HasMany { return $this->hasMany(TvConnectLog::class, 'tv_fk', 'id'); } public function tv_sessions(): HasMany { return $this->hasMany(TvSession::class, 'tv_fk', 'id'); } /// BELONGS TO public function outlet(): BelongsTo { return $this->belongsTo(Outlet::class, 'outlet_fk', 'id'); } // -- END RELATED TO RELATIONSHIP //------------------------------------------------------------ //------------------------------------------------------------ // -- RELATED TO DATA FUNCTION public static function createAnonymousData() :Tv { $newTv = new self; $newTv->code = self::generateRandomCode(); $newTv->is_active = true; $newTv->save(); return $newTv; } // -- END RELATED TO DATA FUNCTION //------------------------------------------------------------ //------------------------------------------------------------ // -- RELATED TO REQUEST public static function renewTvInformation(Request $request) { } // -- END RELATED TO REQUEST //------------------------------------------------------------ }