user photo

Desenvolvedora Web | PHP | Laravel |

BackEnd

Filament: Preencher Select com dados do Banco

Se você deseja buscar as categorias diretamente do banco de dados e preencher as opções do campo Select sem atualização em tempo real, você pode usar o método options() com uma consulta ao model que representa as categorias.


Aqui está como fazer isso:

Código para Buscar Categorias do Banco de Dados


Select::make('category_id')
    ->label('Categoria')
    ->options(\App\Models\Blog\Category::pluck('name', 'id')) // Busca categorias do banco
    ->placeholder('Selecione uma categoria')
    ->columnSpan(2), // Define o tamanho da coluna, opcional


Explicação


\App\Models\Blog\Category::pluck('name', 'id'):


O método pluck() retorna um array associativo onde:

  • A chave será o id da categoria.
  • O valor será o name da categoria.


Exemplo de retorno:       

[
    1 => 'Tecnologia',
    2 => 'Saúde',
    3 => 'Educação',
]

 

Adiciona uma opção padrão para instruir o usuário a selecionar algo.


->placeholder('Selecione uma categoria'):


Banco de Dados: Certifique-se de que você já tenha categorias na tabela categories. Se precisar adicionar algumas categorias para testes, use o Tinker:


php artisan tinker
\App\Models\Blog\Category::create(['name' => 'Tecnologia']);
\App\Models\Blog\Category::create(['name' => 'Saúde']);
\App\Models\Blog\Category::create(['name' => 'Educação']);


Certifique-se de que o nome do campo (category_id) corresponde ao nome do campo na tabela posts, que é a chave estrangeira para categories.

Discussion

Categories

  • Banco de Dados 1
  • BackEnd 1