'json', ]; public function langColumns(): array { return ['title', 'description', 'description_view']; } /** * Modifier user relation * @return \Illuminate\Database\Eloquent\Relations\HasOne */ public function modifier() { return $this->hasOne($this->modelClass('User', 'Users'), 'user_id', 'modified_by'); } protected static function booted() { parent::booted(); static::creating(function ($self) { /** @var $self self */ if (empty($self->num)) { $self->tap(function ($query) use ($self) { if (! empty($self->service_type)) { $query->where('service_type', '=', $self->service_type); } if (! empty($self->group_key)) { $query->where('group_key', '=', $self->group_key); } $self->num = (int)$query->max('num') + 1; }); } }); } }