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の勉強をして色々な操作を紹介したいと思います。