今回やること
- Laravelの主に使うメソッドをまとめる
1.メソッド一覧
| 種類 | メソッド名 | 説明 |
|---|---|---|
| ルーティング | Route::get() | GETリクエスト用ルート定義 |
| ルーティング | Route::post() | POSTリクエスト用ルート定義 |
| ルーティング | Route::put() / patch() | 更新処理ルート |
| ルーティング | Route::delete() | 削除処理ルート |
| ルーティング | Route::resource() | 一括でCRUDルート作成 |
| ルーティング | Route::name() | ルートに名前をつける |
| コントローラー | return view('blade名', [...]) | ビューを表示 |
| コントローラー | redirect()->route('名前') | 指定ルートにリダイレクト |
| コントローラー | request()->input('key') | フォームの入力取得 |
| コントローラー | session()->flash('key', 'value') | 一時セッション保存 |
| コントローラー | $request->validate([...]) | バリデーション |
| Model | Model::all() | 全件取得 |
| Model | Model::find($id) | IDで取得 |
| Model | Model::create([...]) | レコード作成 |
| Model | $model->update([...]) | 更新 |
| Model | $model->delete() | 削除 |
| Model | Model::where('カラム', 値) | 条件検索 |
| Model | Model::orderBy('カラム', 'asc') | 並び替え |
| Model | Model::with('リレーション名') | リレーション取得 |
| Blade | @if, @elseif, @else | 条件分岐 |
| Blade | @foreach | ループ処理 |
| Blade | @csrf | CSRF対策トークン |
| Blade | {{ $変数 }} | エスケープ表示 |
| Blade | {!! $html !!} | 非エスケープ表示 |
| Blade | @include('部分テンプレート') | 別のBlade読み込み |
| Blade | @extends, @section, @yield | レイアウト継承 |
| バリデーション | $request->validate([...]) | 簡易バリデーション |
| バリデーション | Validator::make([...]) | 高度なバリデーション |
| バリデーション | required, email, max:255 | よく使うルール |
| その他便利 | asset('path') | パブリックディレクトリのURL生成 |
| その他便利 | route('name') | ルートURL生成 |
| その他便利 | dd($var) | デバッグ出力(dump & die) |
| その他便利 | now() | 現在時刻(Carbon) |
URLになってしまうため@を全角にしています。改善法知っている方しましたらコメントお願いします。
2. 引数まとめ
ルーティング
🔹ルーティング
Route::get('itquiz/create', 'ITQuizController@create');
Route::get($uri, $action)
- 使用場面:GETアクセス時
-
引数:
-
$uri:URL(例:'quiz/create') -
$action:'コントローラー名@メソッド名'(例:QuizController@create)
-
Route::post('itquiz/store', 'ITQuizController@store');
Route::post($uri, $action)
- 使用場面:POSTアクセス時
-
引数:
-
$uri:URL -
$action:'コントローラー名@メソッド名'(例:QuizController@store)
-
Route::put('quizzes', 'QuizController@update');
Route::put($uri, $action) / Route::patch($uri, $action)
- 使用場面:データの更新
-
引数:
-
$uri:URL -
$action:更新処理を担当するメソッド
-
Route::delete('quiz/{id}', 'QuizController@destroy');
Route::delete($uri, $action)
- 使用場面:データ削除
-
引数:
-
$uri:URL -
$action:削除処理を担当するメソッド
-
Route::resource('sample', 'QuizController');
Route::resource($name, $controller)
- 使用場面:CRUDルートをまとめて定義
-
引数:
-
$name:ルート名のベース(例:'quizzes') -
$controller:コントローラ名(例:QuizController)
-
CRUD用のルートを7つ自動で作成してくれます。
| HTTP動詞 | URI | メソッド | ルート名 | 説明 |
|---|---|---|---|---|
| GET | /resource | index | resource.index | 一覧表示 |
| GET | /resource/create | create | resource.create | 作成フォームの表示 |
| POST | /resource | store | resource.store | 新規保存 |
| GET | /resource/{id} | show | resource.show | 単体表示 |
| GET | /resource/{id}/edit | edit | resource.edit | 編集フォームの表示 |
| PUT/PATCH | /resource/{id} | update | resource.update | 更新処理 |
| DELETE | /resource/{id} | destroy | resource.destroy | 削除処理 |
Route::get('URL', 'Controller@sample')->name('ITQuiz.create');
Route::name($name)
- 使用場面:ルートに名前をつけて後で呼び出しやすくする
-
引数:
-
$name:任意の名前(例:'quiz.create')
-