| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <?php
- namespace App\Models;
- use Illuminate\Database\Eloquent\Factories\HasFactory;
- use Illuminate\Database\Eloquent\Model;
- use Illuminate\Database\Eloquent\SoftDeletes;
- /**
- * @property int $id
- * @property int|null $unit_id
- * @property string $code
- * @property string $order
- * @property string $description
- * @property string $chart_type
- * @property \Illuminate\Support\Carbon|null $created_at
- * @property \Illuminate\Support\Carbon|null $updated_at
- * @property \Illuminate\Support\Carbon|null $deleted_at
- * @property int|null $parent_id
- * @property-read \Illuminate\Database\Eloquent\Collection<int, FinancialPlanAccount> $children
- * @property-read int|null $children_count
- * @property-read FinancialPlanAccount|null $parent
- * @method static \Illuminate\Database\Eloquent\Builder<static>|FinancialPlanAccount newModelQuery()
- * @method static \Illuminate\Database\Eloquent\Builder<static>|FinancialPlanAccount newQuery()
- * @method static \Illuminate\Database\Eloquent\Builder<static>|FinancialPlanAccount onlyTrashed()
- * @method static \Illuminate\Database\Eloquent\Builder<static>|FinancialPlanAccount query()
- * @method static \Illuminate\Database\Eloquent\Builder<static>|FinancialPlanAccount whereChartType($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|FinancialPlanAccount whereCode($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|FinancialPlanAccount whereCreatedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|FinancialPlanAccount whereDeletedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|FinancialPlanAccount whereDescription($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|FinancialPlanAccount whereId($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|FinancialPlanAccount whereOrder($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|FinancialPlanAccount whereParentId($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|FinancialPlanAccount whereUnitId($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|FinancialPlanAccount whereUpdatedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|FinancialPlanAccount withTrashed(bool $withTrashed = true)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|FinancialPlanAccount withoutTrashed()
- * @mixin \Eloquent
- */
- class FinancialPlanAccount extends Model
- {
- use HasFactory, SoftDeletes;
- protected $table = 'financial_plan_accounts';
- protected $guarded = [
- 'id', // Add more fields that shouldn't be edited here
- ];
- protected $casts = [
- 'created_at' => 'datetime',
- 'updated_at' => 'datetime',
- 'deleted_at' => 'datetime',
- ];
- // Relationships
- public function parent(): \Illuminate\Database\Eloquent\Relations\BelongsTo
- {
- return $this->belongsTo(self::class, 'parent_id');
- }
- public function children(): \Illuminate\Database\Eloquent\Relations\HasMany
- {
- return $this->hasMany(self::class, 'parent_id');
- }
- // Business Logic Methods
- /** Conta raiz (sem pai). */
- public function isRoot(): bool
- {
- return $this->parent_id === null;
- }
- // Custom Finders
- // Query Scopes
- }
|