鶏口牛後な日々

魔法使い(なんでも作れるエンジニア)を目指してます。ブログは発散中

php artisan tinkerでDBにユーザーを作る

ユーザー登録APIを作っています。 ログインするときは、 ユーザーアカウント名パスワード で認証します。 ログイン機能を試すために、DBに先にユーザーを作ろうと思いました。 どうすればいいか、というと、 php artisan tinker を使います。 これを使うことで、コマンドラインからデータベースなどに直接的に働きかけることができます。

php artisan tinker 起動の仕方

簡単で、コマンドラインでLaravelをインストールしたフォルダ直下に cd で移動し、php artisan tinker とうつと、起動します。

この後は、モデルなどの操作が普通のソースを書くように書け、Enterを押すと、その場で実行されます。

ユーザーを新規作成し、名前を入れてみる

例えば、ユーザー名を入れる場合は以下のようになります。

php artisan tinker

$user = new User;
$user->name = "hoge";
$user->save();

これでDBを見ると、ユーザーができて、名前に hoge が入っていることが確認できます。 ただし、DBで必須項目に設定しているカラムは全て入れないとダメです。

パスワードを入れてみる

次は、パスワードを入れてみましょう。

パスワードは少し注意が必要で、 bcrypt() メソッドをかまして、ハッシュ化してから保存する必要があります。 Laravelの認証機能を使っている場合は、ユーザー登録をする際に、必ずハッシュ化をかましてくれるようになっています。

php artisan tinker

$shop = Shop::find(1);
$shop->password = bcrypt('password');
$shop->save();
exit
  • 'password' のところは、任意のパスワードを入れます。

これで、ユーザーをDBにて自作することができ、認証周りのテストを実行できます。

以上。