• File: ProjectGroup.php
  • Full Path: /var/www/html/back/app/Models/ProjectGroup.php
  • File size: 1.08 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

declare(strict_types=1);

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Support\Carbon;

/**
 * @property int $id
 * @property int $model_id
 * @property string $name
 * @property string $description
 * @property Carbon $created_at
 * @property Carbon $updated_at
 *
 * @property Project[] $projects
 */
class ProjectGroup extends Model
{
    protected $table = 'project_groups';

    protected $fillable = [
        'model_id',
        'name',
        'description',
    ];

    /**
     * Связь с проектами.
     *
     * @return HasMany
     */
    public function projects(): HasMany
    {
        return $this->hasMany(Project::class, 'project_group_id');
    }

    public static function example(): array
    {
        return [
            'id' => 1,
            'model_id' => 1,
            'name' => 'Test Group',
            'description' => 'Test description',
            'projects' => [
                Project::example(),
                Project::example()
            ]
        ];
    }
}