LoginSignup
4
2

【Filament 2.x】 artisanコマンドチートシート

Last updated at Posted at 2023-05-27

概要

alpinejs,livewire,tailwindで作られている最強管理画面生成ライブラリFilament

のコマンドチートシート

まとめ

# リソース系
$ php artisan make:filament-resource Customer
$ php artisan make:filament-resource Customer --simple
$ php artisan make:filament-resource Customer --generate
$ php artisan make:filament-resource Customer --view

# ページ系
$ php artisan make:filament-page Settings
$ php artisan make:filament-page Settings --resource=UserResource --type=ViewRecord
$ php artisan make:filament-page Settings --resource=UserResource --type=custom

# リレーションマネージャー系
$ php artisan make:filament-relation-manager CategoryResource posts title
$ php artisan make:filament-relation-manager CategoryResource posts title --soft-deletes
$ php artisan make:filament-relation-manager CategoryResource posts title --attach
$ php artisan make:filament-relation-manager CategoryResource posts title --associate

# フォームビルダー
$ php artisan make:livewire-form HogeForm
# テーブルビルダー
$ php artisan make:livewire-table HogeTable

# ウィジェット系
$ php artisan make:filament-widget StatsOverview --stats-overview
$ php artisan make:filament-widget BlogPostsChart --chart
$ php artisan make:filament-widget LatestOrders --table
$ php artisan make:filament-widget CustomerOverview --resource=CustomerResource

リソースクラス作成

$ php artisan make:filament-resource Customer

モデル名と違う名前で生成した際は、モデルクラスの定義を書き換える事

class HogeResource extends Resource
{
    //↓これ
    protected static ?string $model = Store::class;

オプション

オプション 効果 ドキュメントリンク
--simple 一覧/作成/編集を1ページのみで管理するManageRecordsクラスを自動生成(作成/編集はモーダルが展開される) ドキュメント
--generate マイグレーションの情報からフォーム、テーブルの項目を自動生成します ドキュメント
--view ViewRecordクラスを追加で生成します ドキュメント

--simleオプションについて

FilamentデモのCategories管理機能のように、作成・一覧をモーダルで管理するクラスが作成される。
image.png

--generateオプションについて

マイグレーションファイルから項目を自動生成するにはdoctrine/dbalパッケージが必要です

$ composer require doctrine/dbal --dev

カスタムページクラス作成

$ php artisan make:filament-page Settings

オプション

オプション 効果 ドキュメントリンク
--resource=UserResource --type=ViewRecord UserResourceディレクトリにUserResourceのViewRecordクラスを追加する ドキュメント
--resource=UserResource --type=custom UserResourceディレクトリにUserResourceのカスタムページクラスを追加する ドキュメント

リレーションマネージャー作成

$ php artisan make:filament-relation-manager CategoryResource posts title

CategoryResource posts title ↓
親リソースクラス名 リレーション名 リレーション先の看板的なカラム名

オプション

オプション 効果 ドキュメントリンク
--soft-deletes 論理削除を管理する機能を追加で作成 ドキュメント
--attach BelongsToMany,MorphToManyのリレーション時に使用する。紐付け/紐付け解除のアクションが追加される ドキュメント
--associate HasMany, HasManyThrough,MorphManyのリレーション時に使用する。紐付け/紐付け解除のアクションが追加される ドキュメント

フォームビルダー作成

フォームビルダーlivewireコンポーネントを作成します。

$ php artisan make:livewire-form クラス名

↓とやってる事は同じです

テーブルビルダー作成

テービルビルダーlivewireコンポーネントを作成します。

$ php artisan make:livewire-table クラス名

↓とやってる事は同じです

ウィジェット

$ php artisan make:filament-widget CustomViewWidget

オプション未指定だと、Widgetクラスと対応するbladeファイルが生成されます。
自分で見た目を構築する必要あり。

オプション

オプション 効果 ドキュメントリンク
--stats-overview カード形式のテンプレートが作成 ドキュメント
--chart チャート形式のテンプレートが作成 ドキュメント
--table テーブル形式のテンプレートが作成 ドキュメント
--resource=リソースクラス名 指定したリソースディレクトリ下にウィジェットクラスが作成 ドキュメント
4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2