Tinkerを使ったデータベース操作【初心者のためのLaravel超入門講座】

Laravel 入門講座

Tinkerを使ってMySQL上のテーブルを編集できます。

MySQLを使うよりも便利にデータの追加や修正ができます。

いくつかコマンドを紹介します。

英語の豆知識tinker(ティンカー)は英語で鋳掛け屋(金物の修理屋)、修繕屋、といった意味。実はあのピーターパンにでてくるティンカーベルの職業もティンカーです。

Tinkerの使い方

最初に次のコマンドを入力します。

ここから先は、tinkerコマンドワールドになります。

データを追加する(カラム1個)

入力するカラムが1か所だけのdivisionテーブルに、新たにデータを追加するとします。

次のように入力します。

divisionテーブルのnameカラムに”human resources”というデータを追加するには、次のように入力します。

trueという値が返ってきます。最後にsaveします。

trueという値が返ってきます。

MySQLでは、次のようにデータが挿入されています。

ふたつ目のデータを入力するときには、また $division=new App\Division から繰り返します。

データを追加する(複数カラム)

入力するカラムが2か所あるaddressテーブルに、新たにデータを追加するとします。

次のように入力します。

ここから先は、addressテーブルの各カラムにデータを追加していきます。

addressテーブルのaddressカラムに”naushika village”というデータを追加するには、次のように入力します。

値が返ってきます。

次にaddressテーブルのplayer_idカラムに”1″というデータを追加します。

値が返ってきます。

カラムをすべて入力し終えたら、最後に $address と変数を入力します。

入力中の項目が表示されます。最後にsaveします。

trueという値が返ってきます。

コマンド上では、次のように表示されています。

MySQLにも、次のように追加したデータが挿入されています。(2行目)

データを検索する

divisionテーブルにいない状態でdivisionテーブル1番の内容を表示するには、App\Divisionを付けて検索します。

次のように結果が返ってきます

リレーションがあるデータを検索する

リレーションが定義されている場合には、リレーションを使った検索も可能。

たとえばユーザーテーブルとアドレステーブルの間でhasOneのリレーションがある場合には、次のようにします。

ユーザーIDを検索します。

ユーザーID2番のユーザーを検索するには、次のようにします。

このユーザーIDをもつアドレステーブル上のアドレスを取り出します。

 

データを更新する

たとえば、divisionテーブル1番のデータの【name】カラムを “human resources”から “HR”に変更したいとします。

まずはデータを検索して、更新したいデータを取ってきます。

次に更新したい内容を入力します。

更新後の値、”HR”が返ってきます。

保存します。

MySQLでも変更が確認できます。

データを削除する

たとえば、divisionテーブル1番のデータを 削除します。

まずはデータを検索して、更新したいデータを取ってきます。

データが表示されます。

次に削除のコマンドを入力します。

無事削除できた場合は、trueの値が返ってきます。

Tinkerをやめるには

tinkerをやめるには quitと命令を打ちます。

元通り、laravelのコマンドを入力できるようになります。

コメント

タイトルとURLをコピーしました