laravel-admin の機能の一つに帳票出力機能があります。特殊な実装をしなくても、laravel-adminの機能の一つである「モデルグリッド」の機能で実装された表、テーブルであれば
・全データを出力
・現在のページを出力
・選んだ行を出力
が行えます。出力形式はCSVです(PDFではありません)
また、コントローラーの grid() function のなかで Grid インスタンスの export メソッドを呼ぶことで、帳票に対して変更を行うことができます。
$grid->export(function ($export) {
// ここで export->xxx を呼び出して帳票出力の挙動を変える
$export->xxx
});
なお、Grid インスタンスの実装は vendor/encore/laravel-admin/src/Grid.php にあり、export は vendor/encore/laravel-admin/src/Grid/Concerns/CanExportGrid.php で定義されている通り、Exporter に callback を設定することで Exporter の挙動を変えています
$exporet->xxx で呼び出せるメソッド一覧は次のとおりです
except():特定のカラムを帳票に出力させたくない時に指定する
only():特定のカラムだけ帳票に出力したいときに指定する
filename():帳票のファイル名を設定する。拡張子.csvは自動で付与される。
originalValue():Grid に対して display()を呼び出して値を変えた(例えば単位やリンクを追加した)場合でも、帳票ではDBの値をそのまま出力したい場合に使用する
column():特定のカラムに対して、帳票出力する値を変更したい場合に指定する。Girdのdisplayの帳票版