Unity(C#)初心者・入門者向けチュートリアル ひよこのたまご

AndroidやiOS向けアプリを簡単に作れるゲーム開発環境Unity(ユニティ)の使い方を、チュートリアル方式で一緒に学びましょう!

【Laravel】ResourceController にモデルを指定

PHPバージョン:7.1.14
Laravelバージョン:5.7.9

前回の続きです!
今回はResourceController作成時にモデルを指定します!
以前作成した、app>Models>Articleモデルを使用します!


ResourceController作成

$ php artisan make:controller ResController --resource --model=Models/Article

こちらのコマンドでResourceControllerを作成します。
前回との違いは"--model=Models/Article"オプションが付いた点です。

<?php

namespace App\Http\Controllers;

use App\Models\Article;
use Illuminate\Http\Request;

class ResController extends Controller
{
    public function index() {
    }

    public function create() {
    }

    public function store(Request $request) {
    }

    public function show(Article $article) {
    }

    public function edit(Article $article) {
    }

    public function update(Request $request, Article $article) {
    }

    public function destroy(Article $article) {
    }
}

app>Http>Controllers>ResController.php

前回と違い、
use App\Models\Article;
が最初から記述されています。

またモデルを指定しなかった時は"$id"となっていた引数部分が、
Articleモデルでタイプヒントされた"$article"となっています。

routes>web.phpについては前回と同じく

<?php

Route::resource('articles', 'ResController');

routes>web.php

これだけで大丈夫です。

※※※注意※※※
ResourceControllerでモデルを指定する場合は、
web.phpのRoute::resourceメソッドの第一引数に指定するURI部分は
モデルの複数形にしてください!

showやeditメソッドの引数となっているモデルは、
URLにそのモデルのidを指定することで Bindingされ取得できます。

web.phpでの指定を誤るとBindingされず、
引数のモデルはnullとなります。

今回はここまでです、ありがとうございました〜!