tinkerでデータ取得・編集・削除などのコマンド

Laravel

tinkerは便利、とは聞きますがあまり使う機会がなく、、、
先日使い方を教えていただいたことがきっかけで、tinkerの便利さが少し分かりました!

よく使いそうなコマンドをメモとして。

全件取得

 $users = \App\Models\User::all();

全削除

\App\Models\User::query()->delete();

createでDBにレコードを登録

\App\Models\User::create(['name'=>'mutimuti' ]);

データを1件取得

$user = \App\Models\User::where(['name'=> 'mutimuti'])->first();

取得したデータを編集

 $user->update('email'=> 'unknown@muti.com');   

取得したデータを削除

 $m->delete();    

factoryでレコード作成・登録

 factory(\App\Models\User::class, 100)->create();

factoryが定義してあれば、これで100件一気にDBへレコードを登録できます。

create()はインスタンス作成+保存。

factoryで登録情報をオーバーライド

 factory(\App\Models\User::class, 1)->create(['name'=>'mutimuti' ]);

こうすればnameのカラム値をオーバーライドできます。

Carbonで時間操作

テスト時に便利なCarbonもtinkerで使えました。

現在時間を任意の時間にセット

Carbonインスタンスを作成し、setTestNow関数に引数として渡すだけです!

 $c = \Carbon\Carbon::create(2020,011, 11, 00, 00, 0);
 \Carbon\Carbon::setTestNow($c);

現在時間の確認

 echo \Carbon\Carbon::now();

configファイル、.envファイルの値を取得

ちゃんと.envの変更が反映されてるのかな〜、と確認したい時

var_dump(config('app_url'));
var_dump(env('app_url'));

var_dump で値を見ることができます。

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