FilamentF
Filament15mo ago
kisut

Column Order Number Error

Hi,

I'm trying to use column_order for my relation manager. This is my code:

Track Model
public function releases()
    {
        return $this->belongsToMany(Release::class, 'track_album', 'track_id', 'release_id')
            ->withPivot('track_order')
            ->orderBy('track_order');
    }

Release Model
public function tracks()
    {
        return $this->belongsToMany(Track::class, 'track_album', 'release_id', 'track_id')
            ->withPivot('track_order')
            ->orderBy('track_album.track_order');
    }

    public function addTrack(Track $track)
    {
        $maxOrder = $this->tracks()->max('track_order') ?? 0;
        $this->tracks()->attach($track->id, ['track_order' => $maxOrder + 1]);
    }

Relation manager
->reorderable(fn () => str($this->getPageClass())->contains('TrackList') ? 'track_order' : null)
            ->defaultSort('track_order')
            ->reorderRecordsTriggerAction(
                fn (ActionsAction $action, bool $isReordering) => $action
                    ->button()
                    ->label($isReordering ? 'Cancel Reordering' : 'Reorder Tracks')
            )


Why when I create/attach data, the column_order (in my case track_order) is not auto created? I need to reorder it first so the order number is showed and save into database.

Is this a bug or what? because I didn't get this error before
Was this page helpful?