見出し画像

【 PHP 】 Laravel編⑤ 「tinker」 FirE♯518

今回は、tinkerを学びます!!


【 tinker 】

LaravelREPLという機能です。これは、Read-Eval-Print-Loopの略で、
「読み込みー処理ー表示ー繰り返し」です。
対話型
と呼ばれるプログラムの実行の仕方です。

tinkerを使うには、ターミナルで、artisanコマンドを実行します。

php artisan tinker

実行!

このような表示になります。これが、対話型です。


<使い方>

tinker を使って、前回に作成した、testsテーブルの、textカラムに文字列を入れてみます。

>>>  の後のコマンドが、こちらが入力したコマンドです。
その結果を、=>  の後に返してきます。


この内容はこの通りです。

>>> $test = new App\Models\Test;       ・・・・・解説①
=> App\Models\Test {#3596}

>>> $test->text = "aaa";            ・・・・・解説②
=> "aaa"

>>> $test->save();          ・・・・・解説③
=> true 

>>> App\Models\Test::all();           ・・・・・解説④
=> Illuminate\Database\Eloquent\Collection {#4278
     all: [
       App\Models\Test {#4526
         id: 1,
         created_at: "2022-07-30 11:06:27",
         updated_at: "2022-07-30 11:06:27",
         text: "aaa",
       },
     ],
   }


<解説①>

$test = new App\Models\Test;

このコマンドで、Appの中の、Modelsの中の、Testという
modelをインスタンス化します。


<解説②>

$test->text = "aaa";   

$testが、インスタンス化した、Testモデル=テーブルですので、
そのテーブルの、test カラム に "aaa" を追加します。


<解説③>

$test->save();

②で追加した"aaa"を保存します。


<解説④>

App\Models\Test::all();  

このコマンドで、Testテーブルの中身を全て表示します。

=> Illuminate\Database\Eloquent\Collection {#4278
     all: [
       App\Models\Test {#4526
         id: 1,
         created_at: "2022-07-30 11:06:27",
         updated_at: "2022-07-30 11:06:27",
         text: "aaa",
       },
     ],
   }

id が 1
create_at が追加時間
update_atが保存時間
text:"aaa" とあります。


<phpMyAdmin>

で確認します。

このように、カラムに、id ,create_at ,update_at ,textの情報が入っています。


【 まとめ 】

tinkerについて解説しました。

難しいですね〜。

慣れるしかありませんね。

この記事が気に入ったらサポートをしてみませんか?