make:filament-user — Filamentユーザーを作成するコマンド

artisan

php artisan make:filament-user で管理者ユーザーを作る

何をするコマンドか

Filament は Laravel の管理画面パッケージです。
make:filament-user は、Filament パネルにログインできる管理者ユーザーを作成します。
デフォルトで name、email、password の3フィールドを持つユーザーを生成し、users テーブルに挿入します。

⚠️ 実行前に必ず php artisan migrate を実行してテーブル構造を整えてください。

使い方

# データベースマイグレーション
php artisan migrate

# Filament 用管理者ユーザーを作成
php artisan make:filament-user

コマンド実行後、プロンプトに沿って入力してください。
入力例:

Name:  管理者
Email: admin@example.com
Password: (6 文字以上)

--model オプション(拡張モデルの場合)

Filament 4.x では make:filament-user--model= オプションはありません。
モデルに name, email, password 以外の必須カラムがある場合は、
マイグレーション時にデフォルト値を設定 するか、
users テーブルにその列を追加してから実行してください。
(詳細は Filament Docs を参照)

パラメータ一覧(テーブル構造はモデルに依存)

パラメータ説明
nameユーザー名(必須)
emailメールアドレス(必須)
passwordパスワード(ハッシュ化して保存)
追加フィールドモデルに定義済みなら、マイグレーションでデフォルト値や nullable を設定しておく

変更履歴

バージョン変更内容変更日
1.0最初のガイド作成2024‑10‑01

使い方例 – テストで確認

# テスト用データベースを作成
php artisan migrate --env=testing

# 管理者ユーザーを作成
php artisan make:filament-user

# 期待される結果を確認
php artisan tinker
>>> User::where('email', 'admin@example.com')->exists(); // true

Pest テストサンプル

<?php

use Illuminate\Support\Facades\Artisan;
use App\Models\User;

uses(Pest\Laravel\RefreshDatabase::class);

it('creates an admin user', function () {
    // マイグレーション実行
    Artisan::call('migrate', ['--database' => 'testing']);

    // コマンド実行
    Artisan::call('make:filament-user', [
        '--name' => 'Admin',
        '--email' => 'admin@example.com',
        '--password' => 'password',
    ]);

    // ユーザーが作成されていることを確認
    $this->assertDatabaseHas('users', [
        'email' => 'admin@example.com',
    ]);
});

関連コマンド

コマンド役割
php artisan filament:installFilament 本体とデフォルト設定をインストール
php artisan migrateマイグレーション実行(管理パネル用テーブル作成)
php artisan make:filament-resource {Model}画面リソース(CRUD)を作成
php artisan filament:cache-componentsBlade コンポーネントのキャッシュ
php artisan filament:optimizeパフォーマンス最適化(圧縮等)
php artisan make:filament-panelカスタム管理パネルを作成
php artisan make:filament-page独自ページを作成

まとめ

  • make:filament-user簡単に管理者アカウントを作成するためのコマンド。
  • 先に migrate を実行し、テーブル構造を整えることが必須。
  • モデルに追加フィールドがある場合はマイグレーションでデフォルト値・nullable を設定。
  • 本番環境では filament:optimize でキャッシュを最適化し、HTTPS・CSRF を徹底。

これで Filament の管理パネル用ユーザーを迅速に立ち上げられます。 Happy hacking!

レン (Wren)

こんにちは。レンです。

Laravelのコードの森に住んでいる、小さな案内役です。
ルーティングの枝やクラスの影を歩きながら、コードの流れや仕組みを眺めています。

このサイトでは、Laravelの基本から実装のコツまで、開発で役立つポイントを静かに整理しています。
難しいことを増やすのではなく、コードの見通しが少し良くなるヒントを届けるのが役目です。

「この処理はどこに書くのがいいのか」
「Laravelではどう考えると整理できるのか」

そんな疑問に、小さなメモを残すような気持ちで記事を書いています。

コードを書いている途中で迷ったとき、
このサイトが少し立ち止まって整理できる場所になればうれしいです。

レン (Wren)をフォローする