phpvms/app/Models/PirepField.php

46 lines
811 B
PHP
Raw Normal View History

2017-06-29 08:54:05 +08:00
<?php
namespace App\Models;
use App\Contracts\Model;
use Illuminate\Database\Eloquent\Casts\Attribute;
2017-06-29 08:54:05 +08:00
/**
* @property string name
* @property string slug
2017-06-29 08:54:05 +08:00
*/
class PirepField extends Model
2017-06-29 08:54:05 +08:00
{
public $table = 'pirep_fields';
2018-01-01 10:59:26 +08:00
public $timestamps = false;
2017-06-29 08:54:05 +08:00
2018-03-21 08:40:19 +08:00
protected $fillable = [
2018-01-01 10:59:26 +08:00
'name',
'slug',
2018-01-01 10:59:26 +08:00
'required',
];
2017-06-29 08:54:05 +08:00
2018-01-01 10:59:26 +08:00
protected $casts = [
'required' => 'boolean',
];
2017-06-29 08:54:05 +08:00
2018-01-01 10:59:26 +08:00
public static $rules = [
'name' => 'required',
];
/**
* When setting the name attribute, also set the slug
2018-08-27 00:40:04 +08:00
*
* @return Attribute
*/
public function name(): Attribute
{
return Attribute::make(
set: fn ($name) => [
'name' => $name,
'slug' => str_slug($name),
]
);
}
2017-06-29 08:54:05 +08:00
}