filamentphp / filament

A collection of beautiful full-stack components for Laravel. The perfect starting point for your next app. Using Livewire, Alpine.js and Tailwind CSS.
https://filamentphp.com
MIT License
18.52k stars 2.89k forks source link

Upgrade process failed: route error #1326

Closed dowmeister closed 2 years ago

dowmeister commented 2 years ago

Package

filament/filament

Package Version

2

Laravel Version

8

Livewire Version

No response

PHP Version

8.1.1

Bug description

I have upgraded from 1.x to 2.x and now i'm stuck on an error about routes.

Symfony\Component\Routing\Exception\RouteNotFoundException
Route [filament.resources.companies.index] not defined.

did:

php artisan filament:upgrade
Configuration cache cleared!
Livewire auto-discovery manifest rebuilt!
Route cache cleared!
Compiled views cleared!
Successfully upgraded!

launched php artisan route:clear many times

Deleted Laravel cache.

Steps to reproduce

No response

Relevant log output

No response

danharrin commented 2 years ago

Can I see your CompanyResource?

dowmeister commented 2 years ago

Sure

<?php

namespace App\Filament\Resources\Companies;

use App\Filament\Resources\Companies\CompanyResource\Pages;
use App\Filament\Resources\Companies\CompanyResource\RelationManagers;
use App\Filament\Roles;
use App\Models\Companies\Company;
use Filament\Forms\Components;
use Filament\Forms\Components\BelongsToSelect;
use Filament\Resources\Form;
use Filament\Resources\Resource;
use Filament\Resources\Tables\Columns;
use Filament\Resources\Tables\Filter;
use Filament\Resources\Table;

class CompanyResource extends Resource
{
    public static $icon = 'heroicon-o-collection';

    public static ?string $model = '\App\Models\Companies\Company';

    public static function form(Form $form) : Form
    {
        return $form
            ->schema([
                //
                Components\TextInput::make('name')->autofocus()->required(),
                //BelongsToSelect::make('owner_id')->relationship('owner', 'name')->required(),
                Components\Select::make('company_type')
                    ->options([
                        'realistic' => 'Realistic Economy',
                        'miles' => 'Miles',
                        'both' => 'Eco & Miles',
                    ]),
                Components\Grid::make([
                    Components\TextInput::make('slug')->required(),
                    Components\TextInput::make('tag')->required(),
                    Components\TextInput::make('slogan')->required(),
                ])->columns(2),
                Components\FileUpload::make('avatar')->required(),
                Components\FileUpload::make('cover'),
                Components\MarkdownEditor::make('about'),
                Components\MarkdownEditor::make('requirements'),
                Components\MarkdownEditor::make('rules'),
                Components\Select::make('recruitment')
                    ->options([
                        'open' => 'Open',
                        'closed' => 'Closed',
                    ]),
                Components\Grid::make([
                    Components\TextInput::make('discord')->url(),
                    Components\TextInput::make('youtube')->url(),
                    Components\TextInput::make('twitter')->url(),
                    Components\TextInput::make('facebook')->url(),
                    Components\TextInput::make('twitch')->url(),
                    Components\TextInput::make('website')->url(),
                    Components\TextInput::make('contact_email')->email(),
                ])->columns(2),
                Components\Grid::make([
                    Components\TextInput::make('country_code'),
                    Components\TextInput::make('language')
                ])->columns(2),
            ]);
    }

    public static function table(Table $table) : Table
    {
        return $table
            ->columns([
                Columns\Text::make('name')->primary()->searchable(),
                Columns\Text::make('owner.name')->searchable(),
                Columns\Text::make('company_type')->searchable(),
            ])
            ->filters([
                //
            ]);
    }

    public static function relations()
    {
        return [
            //
        ];
    }

    public static function routes()
    {
        return [
            Pages\ListCompanies::routeTo('/', 'index'),
            Pages\CreateCompany::routeTo('/create', 'create'),
            Pages\EditCompany::routeTo('/{record}/edit', 'edit'),
        ];
    }
}
danharrin commented 2 years ago
Screenshot 2022-01-24 at 09 57 49

https://filamentadmin.com/docs/2.x/admin/upgrade-guide#property-and-method-changes-to-resource-and-page-classes