'int', 'total_time' => 'int', 'active' => 'boolean', ]; /** * Validation rules * * @var array */ public static $rules = [ 'country' => 'nullable', 'iata' => 'nullable|max:5', 'icao' => 'required|max:5', 'logo' => 'nullable', 'name' => 'required', ]; /** * For backwards compatibility */ public function getCodeAttribute() { return $this->icao; } protected static function boot() { parent::boot(); /** * IATA and ICAO should be in all caps */ static::creating(function (Airline $model) { if (!empty($model->iata)) { $model->iata = strtoupper($model->iata); } if (!empty($model->icao)) { $model->icao = strtoupper($model->icao); } }); /** * Make sure a new journal object is created */ static::created(function(Airline $model) { $model->initJournal(config('phpvms.currency')); }); } }