| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?php
- declare(strict_types=1);
- namespace App\Models;
- use Illuminate\Database\Eloquent\Factories\HasFactory;
- use Illuminate\Database\Eloquent\Model;
- use Illuminate\Database\Eloquent\Relations\BelongsTo;
- use Illuminate\Database\Eloquent\Relations\HasMany;
- class DocumentationFolder extends Model
- {
- use HasFactory;
- protected $fillable = [
- 'parent_id',
- 'name',
- 'inherits_permissions',
- 'created_by',
- ];
- protected function casts(): array
- {
- return [
- 'inherits_permissions' => 'boolean',
- ];
- }
- public function parent(): BelongsTo
- {
- return $this->belongsTo(self::class, 'parent_id');
- }
- public function children(): HasMany
- {
- return $this->hasMany(self::class, 'parent_id')->orderBy('name');
- }
- public function documents(): HasMany
- {
- return $this->hasMany(DocumentationDocument::class, 'folder_id')->orderBy('name');
- }
- public function permissionRules(): HasMany
- {
- return $this->hasMany(DocumentationFolderPermission::class, 'folder_id');
- }
- public function creator(): BelongsTo
- {
- return $this->belongsTo(User::class, 'created_by');
- }
- }
|