$children * @property-read int|null $children_count * @property-read Forum|null $parent * @property-read \Illuminate\Database\Eloquent\Collection $threads * @property-read int|null $threads_count * @method static \Illuminate\Database\Eloquent\Builder|Forum newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|Forum newQuery() * @method static \Illuminate\Database\Eloquent\Builder|Forum query() * @method static \Illuminate\Database\Eloquent\Builder|Forum whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|Forum whereDescription($value) * @method static \Illuminate\Database\Eloquent\Builder|Forum whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|Forum whereName($value) * @method static \Illuminate\Database\Eloquent\Builder|Forum whereParentId($value) * @method static \Illuminate\Database\Eloquent\Builder|Forum wherePosition($value) * @method static \Illuminate\Database\Eloquent\Builder|Forum whereType($value) * @method static \Illuminate\Database\Eloquent\Builder|Forum whereUpdatedAt($value) * @mixin \Eloquent */ class Forum extends Model { protected $fillable = [ 'name', 'description', 'type', 'parent_id', 'position', ]; public function parent(): BelongsTo { return $this->belongsTo(self::class, 'parent_id'); } public function children(): HasMany { return $this->hasMany(self::class, 'parent_id')->orderBy('position'); } public function threads(): HasMany { return $this->hasMany(Thread::class); } }