PHP(Laravel)にてページングを実装しております。
実現したいこと
登録データの一覧表示の中に表示・非表示ボタンを作成し
押すことで、データベース上の0か1を切り替え
テキストを切り替えるようにしたいです。
該当のソースコード
[index.blade.php] <tr @if(!$data->status){{"bgcolor=gray"}}@endif> <td>{{ $data->id }}</td> <td> <form action="{{ route("admin.datareview.updataView",$data) }}" method="post"> @csrf @method('PUT') <button class="btn btn-primary"> @if($data->status)表示@else非表示@endif</button> </form> </td> </tr> [Contoroller.php] public function index(Request $request) { $params = ["q" => $request->get("q")]; $query = DataReview::query(); if ($params["q"]) { $query->where( 'id', 'like', "%$q%") ->orWhere( 'name', 'like', "%$q%"); } $datareview = $query->paginate(10); return view('admin.datareview.index', [ 'datareview' => $datareview, "params" => $params, ]); } public function updataView( DataReview $datareview , Request $request ) { $datareview->status = ($datareview->status == 0) ? 1 : 0; $datareview->save(); return redirect(route("admin.datareview.index" , $request)); }
教えていただきたいこと
$request内に検索ワードの[q]と[page]が取得できないので、
<input type="hidden" name="q" value="{{ $params["q"] }}">
したのですが、スマートではなさそうですので、解決方法が知りたいです。
または、javaでの切り替え方法もあると思いますがやり方に見当がつきませんので、教授頂きたいです。
回答2件
あなたの回答
tips
プレビュー