2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

LaravelのIlluminate\Http\Requestについてメモ

Posted at

hasメソッド

if ($request->has('name')) {
    //
}

if ($request->has(['name', 'email'])) {
    //
}

if ($request->filled('name')) {
    //
}

Illuminate\Http\Requestクラスのhasメソッドは、リクエストに値が存在する場合に、trueを返します。

配列を指定した場合、hasメソッドは指定値がすべて存在するかを判定します。

値がリクエストに存在しており、かつ空でないことを判定したい場合は、filledメソッドを使います。

@if(Request::has('confirm'))

@endif

bladeの中で使うならこんな感じ

flashメソッド

$request->flash();

$request->flashOnly(['username', 'email']);

$request->flashExcept('password');

入力をフラッシュデータとして保存します。

Illuminate\Http\Requestクラスのflashメソッドは、現在の入力をセッションへ、アプリケーションに要求される次のユーザーリクエストの処理中だけ利用できるフラッシュデータとして保存します。

セッションへ入力の一部をフラッシュデータとして保存するには、flashOnlyとflashExceptが使用できます。両メソッドは、パスワードなどの機密情報をセッションに含めないために便利です。

oldメソッド

$username = $request->old('username');
<input type="text" name="username" value="{{ old('username') }}">

直前のリクエストのフラッシュデータを取得するには、Requestインスタンスに対しoldメソッドを使用してください。oldメソッドはセッションにフラッシュデータとして保存されている入力を取り出すために役に立ちます。

Laravelではoldグローバルヘルパ関数も用意しています。特にBladeテンプレートで直前の入力値を表示したい場合に、oldヘルパは便利です。指定した文字列の入力が存在していないときは、nullを返します。

参考

HTTPリクエスト 5.5 Laravel

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?