presseportale/dev/archive/_old/Models/Company.php
Kevin Adametz 6a4c4d8837 docs: dev-Doku für den Live-Betrieb neu sortiert — Archiv + Betrieb + Roadmap
Das System ist seit 20.07.2026 live; die dev-Doku spiegelt jetzt den
Betriebszustand statt der Release-Vorbereitung:

- dev/betrieb/: Deploy-Runbook (neu: §10 Betrieb nach Go-Live mit
  SFTP-Deploy-Checkliste inkl. queue:restart-Pflicht und den
  Betriebs-Erkenntnissen der Go-Live-Woche), Legacy-API-Parität, Umami.
- dev/roadmap.md: offene Nachlauf-Punkte (Go-Live-Mails, Merge nach main,
  Stripe-Test-Artefakte, Key-Rotation, Alt-System-Abschaltung) und
  Ideen-Backlog.
- dev/archive/: abgeschlossene Phasen — Migration-2026-Planung,
  Cutover-Runbook (mit Erledigt-Vermerk), Release-Plan/QA-Checkliste,
  Optimierungsphasen, Frontend-Konzepte + Responsive-Audits vom 16.07.,
  Altsystem-Reste.
- dev/README.md als Wegweiser; gitignore-Pfad der SQL-Dumps mitgezogen
  (dev/archive/migration-2026/sql/ bleibt untracked, ebenso dev/migration/
  und dev/api/).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 07:52:38 +00:00

138 lines
4.4 KiB
PHP

<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
/**
* Class Company
*
* @property int $id
* @property string $name
* @property string $address
* @property int $country_id
* @property string $phone
* @property string|null $fax
* @property string $email
* @property string $website
* @property string|null $logo
* @property string $ctype
* @property string|null $login
* @property string|null $password
* @property int|null $is_active
* @property int|null $user_id
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
* @property string|null $slug
* @property int $disable_footer_code
* @property Country $country
* @property SfGuardUser|null $sf_guard_user
* @property CompanyUser $company_user
* @property Collection|Contact[] $contacts
* @property Collection|PressRelease[] $press_releases
* @property ResponsibleCompanyUser $responsible_company_user
* @property Collection|UserPaymentOption[] $user_payment_options
* @property-read int|null $contacts_count
* @property-read int|null $press_releases_count
* @property-read int|null $user_payment_options_count
*
* @method static \Illuminate\Database\Eloquent\Builder|Company newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|Company newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|Company query()
* @method static \Illuminate\Database\Eloquent\Builder|Company whereAddress($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company whereCountryId($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company whereCtype($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company whereDisableFooterCode($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company whereEmail($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company whereFax($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company whereIsActive($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company whereLogin($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company whereLogo($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company wherePassword($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company wherePhone($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company whereSlug($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company whereUserId($value)
* @method static \Illuminate\Database\Eloquent\Builder|Company whereWebsite($value)
*
* @mixin \Eloquent
*/
class Company extends Model
{
protected $table = 'company';
protected $casts = [
'country_id' => 'int',
'is_active' => 'int',
'user_id' => 'int',
'disable_footer_code' => 'int',
];
protected $hidden = [
'password',
];
protected $fillable = [
'name',
'address',
'country_id',
'phone',
'fax',
'email',
'website',
'logo',
'ctype',
'login',
'password',
'is_active',
'user_id',
'slug',
'disable_footer_code',
];
public function country()
{
return $this->belongsTo(Country::class);
}
public function sf_guard_user()
{
return $this->belongsTo(SfGuardUser::class, 'user_id');
}
public function company_user()
{
return $this->hasOne(CompanyUser::class);
}
public function contacts()
{
return $this->hasMany(Contact::class);
}
public function press_releases()
{
return $this->hasMany(PressRelease::class);
}
public function responsible_company_user()
{
return $this->hasOne(ResponsibleCompanyUser::class);
}
public function user_payment_options()
{
return $this->belongsToMany(UserPaymentOption::class, 'user_payment_option_company', 'company_id', 'payment_option_id')
->withPivot('ip_address', 'is_active')
->withTimestamps();
}
}