※ Request とは?
ブラウザから送られるリクエストデータ全部を含むオブジェクトのこと。
リクエストデータの取得方法
- useで使うよ宣言する。
・namespace(名前空間)のエイリアスを作成し、参照して使う
・asを使うと、エイリアス名を変更できる - アクション定義時の引数を Request $request にする。
- $requestからデータ取得して使う
// 例 コントローラー
namespace (名前空間)
use Illuminate\Http\Request; // 1. RequestをDIする場合
class (クラス名) {
public function create(Request $request){ // 2. 引数を Request $request に。
// 3. $requestからデータ取得して使う
}
}
※ Request::
ファザードも可。
Request 関連のメソッド一覧
取得関連
機能 | メソッド |
---|---|
全部 | $request → all() |
全部(ファイル関連のデータ以外) | $request → input() |
クエリ | $request → query() |
指定の入力値だけ取得 | $request → only(‘mail’) |
指定以外の入力値全部 | $request → except(‘password’) |
指定値(連想配列NG) | $request → get() |
指定値(1つで、主キーでない場合) | $request → first() |
指定値(1つで、主キーの場合) | $request → find() |
指定値(連想配列OK) | $request → input(‘name’) |
存在しない時に、デフォルト値を返す | $request → input(‘name’, ‘none’) |
リクエストURI(http://localhost/以降) | $request → path() |
完全なURL(クエリ文字列なし) | $request → url() |
完全なURL(クエリ文字列付き) | $request → fullUrl() |
リクエストメソッド(GET、POSTなど) | $request → method() |
get() と first() と find( )
・単一プロパティ(1つ)の場合、get( )を使うとエラー(Property [カラム名] does not exist on this collection instance
)。
→ first( )を使おう。
・主キー(id)なら、find( )を使う。
判定
機能 | メソッド |
---|---|
存在するか? | $request → has(‘name’) |
空でないか? | $request → filled(‘name’) |
リクエストURIが指定パターンか? | $request → is(‘*/user’) |
リクエストメソッドの判定 | $request → isMethod(‘post’) |