【Laravel】Tinkerをちょっとさわってみた




この記事は最終更新日から1年以上経過しています。

LravelのTinkerをちょっとさわってみました。
モデル操作ができたり、コントローラー内のメソッドを実行できたり使いこなせればかなり便利なツールですね。
今回は初めて触った内容を書いていきます。

Tinkerを実行

php artisanコマンドでTinkerを起動します。

モデル経由でデータを取得

App\Userモデルがある前提とします。
Userモデルのall()メソッドを実行するにはコード内と同じ以下で実行できます。

>>> $users = User::all();

これで実行結果が表示され、$users変数にも結果が保存されます。
以下のように1件ずつ処理することも可能です。

>>> foreach ($users as $user) {
... echo $user->name . PHP_EOL;
... }

Insertなどもできます。

>>> $user->fill(['name' => 'n1', 'email' => 'example@example.com', 'password' => 'pass'])->save();
>>>> $user->fill(['name' => 'n1_update'])->save();

コントローラーのメソッドを実行

実行したいコントローラーがApp\Http\Controllers\UserControllerで、メソッドがindex()の場合、以下で実行できます。

$controller = app()->make('App\Http\Controllers\UserController');
app()->call([$controller, 'index'], []);

ただ、Requestパラメーターの渡し方までは理解がおいつかずできませんでした。
もっとTinkerの勉強をして色々な操作を紹介したいと思います。