😽
【Filament 2.x】 artisanコマンドチートシート
概要
alpinejs,livewire,tailwindで作られている最強管理画面生成ライブラリ<b>Filament</b>
のコマンドチートシート
まとめ
$ 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管理機能のように、作成・一覧をモーダルで管理するクラスが作成される。
--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=リソースクラス名 | 指定したリソースディレクトリ下にウィジェットクラスが作成 | ドキュメント |
Discussion