![見出し画像](https://assets.st-note.com/production/uploads/images/86308886/rectangle_large_type_2_ed144613b5328639eef2c54816299435.jpeg?width=800)
【 PHP 】 Laravel編⑤ 「tinker」 FirE♯518
今回は、tinkerを学びます!!
【 tinker 】
LaravelのREPLという機能です。これは、Read-Eval-Print-Loopの略で、
「読み込みー処理ー表示ー繰り返し」です。
対話型と呼ばれるプログラムの実行の仕方です。
tinkerを使うには、ターミナルで、artisanコマンドを実行します。
php artisan tinker
実行!
![](https://assets.st-note.com/img/1659146302165-e5JTWSlM7L.png?width=1200)
このような表示になります。これが、対話型です。
<使い方>
tinker を使って、前回に作成した、testsテーブルの、textカラムに文字列を入れてみます。
![](https://assets.st-note.com/img/1659146864624-hYYmOjnq6w.png?width=1200)
>>> の後のコマンドが、こちらが入力したコマンドです。
その結果を、=> の後に返してきます。
この内容はこの通りです。
>>> $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>
で確認します。
![](https://assets.st-note.com/img/1659147823723-ZiJSJfIF8X.png?width=1200)
このように、カラムに、id ,create_at ,update_at ,textの情報が入っています。
【 まとめ 】
tinkerについて解説しました。
難しいですね〜。
慣れるしかありませんね。
この記事が気に入ったらサポートをしてみませんか?