laravel-admin の帳票出力機能

laravel-admin の機能の一つに帳票出力機能があります。特殊な実装をしなくても、laravel-adminの機能の一つである「モデルグリッド」の機能で実装された表、テーブルであれば
・全データを出力
・現在のページを出力
・選んだ行を出力
が行えます。出力形式はCSVです(PDFではありません)

グリッド右上の Export ボタンから出力できます

また、コントローラーの 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の帳票版