大まかな流れです。Controllerからのモデルの呼び出しは、Controllerでモデルを引っ張てくればいいだけです。
1. SeederでMySQLにデータを入れる
2. MySQLにデータが入っているか確認する
3. Controllerを作成する
4. Routingで作成したコントローラーの設定をする
5. Controllerでモデルを呼び出す
6. Viewの確認
Controllerの作成から見てみましょう。
1. php artisan make:controllerでコントローラーを作成する
AccountControllerをつくります。
[vagrant@localhost zeus]$ php artisan make:controller AccountController Controller created successfully.
するとapp/Http/Controllers 配下にAccountController.phpが作成されます。
AccountController.phpの中身は以下の通りです。後程、モデルを呼び出す際に編集していきます。
namespace App\Http\Controllers; use Illuminate\Http\Request; class AccountController extends Controller { // }
2. Routingで作成したコントローラーの設定をする
routes/web.phpを編集していきます。ホーム(“/”)にGetリクエストがあった場合に、AccountController@indexを呼び出すよう書きます。
/* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */ // Route::get('/', function () { // return view('welcome'); // }); Route::get('/', 'AccountController@index');
3. Controllerでモデルを呼び出す
まず、use App\Accountで、Accountモデルを呼び出すと定義し、Account::first();を変数に格納します。$account->login_idで呼び出します。
namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Account; class AccountController extends Controller { // public function index() { $account = Account::first(); dd($account->login_id); } }
4. php artisan serveでサーバーを立てます
[vagrant@localhost zeus]$ php artisan serve –host=192.168.35.10
Laravel development server started:
5. viewで確認する
ブラウザでhttp://192.168.35.10:8000/にアクセスする
mysqlからデータをひっぱてきています。
OK!
テーブルごとにモデルを作る必要があるか。