'bool', 'configs' => 'collection', ]; /** * 默认组配置,同时也属于访客组默认配置 * * @return Collection */ public static function getDefaultConfig(): Collection { return collect([ GroupConfigKey::MaximumFileSize => 5120, GroupConfigKey::ConcurrentUploadNum => 3, GroupConfigKey::IsUploadNeedsReview => false, GroupConfigKey::LimitPerMinute => 20, GroupConfigKey::LimitPerHour => 100, GroupConfigKey::LimitPerDay => 300, GroupConfigKey::LimitPerWeek => 600, GroupConfigKey::LimitPerMonth => 999, GroupConfigKey::AcceptedFileSuffixes => ['jpg', 'jpeg', 'gif', 'png', 'ico'], GroupConfigKey::PathNamingRule => '{Y}/{m}/{d}', GroupConfigKey::FileNamingRule => '{uniqid}', ]); } protected static function booted() { static::creating(function (self $group) { $group->configs = self::getDefaultConfig()->merge($group->configs ?: []); }); } public function users(): HasMany { return $this->hasMany(User::class, 'user_id', 'id'); } public function strategies(): HasMany { return $this->hasMany(Strategy::class, 'group_id', 'id'); } }