作成日:2022-12-01, 更新日:2024-06-05
コントローラーで受ける
コントローラー側に「request型」が引数で渡ってくるっぽい
▼こんな感じのルーティング
use App\Http\Controllers\Api;
~ 省略 ~
Route::post('/foo', [Api\hoge::class, 'test']);
▼コントローラー側: App\Http\Controllers\Api\hoge.php
~ 省略 ~
use Illuminate\Http\Request; // ← コイツが必要らしい。「vendor\laravel\framework\src\Illuminate」の中にいる
~ 省略 ~
class hoge extends Controller {
public function test(Request $request){ // $requestに色々と格納されるっぽい
var_dump($request);
exit;
}
}
▼単純な入力値をマルっと取得
$val_many = $request->all()
▼ユーザーの入力値をマルっと取得(HTTP verb関係なしで取得: 「HTTP verb(HTTP動詞)」と呼ばれリクエスト時のメソッド(get、post…)のコト)
$val_many = $request->input()
▼ユーザーの入力値をマルっと取得: HTTP verbの中でもクエリ限定
$val_many = $request->query()
▼キーを指定して取得: HTTP verb関係なし
$val = $request->input(キー, キーが含まれないときの初期値)
▼キーを指定して取得: HTTP verbの中でもクエリ限定
$val = $request->query(キー, キーが含まれないときの初期値)
▼配列入力(※詳細は未調査。ひとまずメモだけ)
$val = $request->input('products.0.name');
$val = $request->input('products.*.name');
ビューで使う
「$request」ではなく「request()」にする
// <?php App\xx::xxx($request); ?> // ←これはダメ <?php App\xx::xxx(request()); ?> // ←これならOK