laravel-adminのGridを使って、検索画面を実装しております。
他の画面に遷移して戻ってきても検索条件を保持したいのですが、いい方法はあれば、ご教示願います。
■やってみたこと
・検索後、Controllerのgrid()内でsession()->put()でセッションに保存
・他の画面に遷移し、元の画面に戻ったらsession()->get()で取り出し
ここまでは大丈夫で、セッションに保存されていることが確認できました。
■困っていること
session()->get()で取り出した検索条件を復旧(反映)させることができない。
<?php namespace App\Admin\Controllers; use App\XXXXX; use Encore\Admin\Controllers\AdminController; use Encore\Admin\Form; use Encore\Admin\Grid; use Encore\Admin\Show; use Illuminate\Support\Facades\DB; use App\YYYYY; Use Encore\Admin\Admin; class XXXXXController extends AdminController { // グリッド表示&検索処理 protected function grid() { // ここでセッションから取り出しはOK。これを検索条件にセットしたいが、やり方が分からない、、 $searchConditions = session()->get('xxxxx_search_condition'); $grid = new Grid(new XXXXX()); $grid->disableActions(); $grid->disableColumnSelector(); $grid->column(...........中略 $grid->filter(function ($filter) { $filter->expand(); $filter->column(1/2, function ($filter) { $filter->disableIdFilter(); $filter->where(function ($query) { ...........中略 }, 'xxxx')->placeholder('aaaaaaa'); ...........中略 }); }); // ここで検索条件をセッションに格納 session()->put(['xxxxx_search_condition' => $_REQUEST]); return $grid; }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/13 23:40