group_id)->max('urutan'); $model->urutan = ($max ?? 0) + 1; }); static::addGlobalScope('order', function (Builder $builder) { $builder->orderBy('urutan'); }); } public function kolom(): HasMany { return $this->hasMany(KolomBasisData::class, 'tabel_id')->orderBy('urutan'); } public function group(): BelongsTo { return $this->belongsTo(GroupBasisData::class, 'group_id'); } public function ringkasan(): HasMany { return $this->hasMany(RingkasanBasisData::class, 'tabel_id')->orderBy('urutan'); } public function form(): HasMany { return $this->hasMany(FormBasisData::class, 'tabel_id') ->whereNull('parent_id') ->orderBy('urutan'); } public function renderHtml(string $state, $errors = null, $optionsFK = null, $values = null): string { $html = ''; foreach ($this->form as $form) { $html .= $form->renderHtml($state, $errors, $optionsFK, $values); } return $html; } }