pelican-panel-mirror/app/Models/ServerVariable.php
Lance Pioch 0179ade557
Add Laravel Data package, also some small fixes (#1065)
* Simplify

* Update these

* Add Laravel Data

* Remove unused imports

* Quick fix

* Fix double array

* Update app/Console/Commands/Egg/CheckEggUpdatesCommand.php
2025-03-08 19:56:06 -05:00

65 lines
1.7 KiB
PHP

<?php
namespace App\Models;
use App\Contracts\Validatable;
use App\Traits\HasValidation;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
/**
* @property int $id
* @property int $server_id
* @property int $variable_id
* @property string $variable_value
* @property \Carbon\CarbonImmutable|null $created_at
* @property \Carbon\CarbonImmutable|null $updated_at
* @property \App\Models\EggVariable $variable
* @property \App\Models\Server $server
*/
class ServerVariable extends Model implements Validatable
{
use HasValidation;
/**
* The resource name for this model when it is transformed into an
* API representation using fractal.
*/
public const RESOURCE_NAME = 'server_variable';
protected $guarded = ['id', 'created_at', 'updated_at'];
/** @var array<array-key, string[]> */
public static array $validationRules = [
'server_id' => ['required', 'int'],
'variable_id' => ['required', 'int'],
'variable_value' => ['string'],
];
protected function casts(): array
{
return [
'server_id' => 'integer',
'variable_id' => 'integer',
'created_at' => 'immutable_datetime',
'updated_at' => 'immutable_datetime',
];
}
/**
* Returns the server this variable is associated with.
*/
public function server(): BelongsTo
{
return $this->belongsTo(Server::class);
}
/**
* Returns information about a given variables parent.
*/
public function variable(): BelongsTo
{
return $this->belongsTo(EggVariable::class, 'variable_id');
}
}