LoginSignup
15
13

More than 5 years have passed since last update.

まだTinkerの名前空間で消耗してるの?

Posted at

タイトルはテンション上がったので付けてしまいました。

問題

Laravelで php artisan tinker を頻繁に使っているが、毎回名前空間を指定するのが辛かった。

こんな感じ。

>>> App\Models\User::find(1)->toSql()
=> "select * from `users` where `users`.`deleted_at` is null"

面倒なのでGoogle日本語入力の単語登録をしていたが、エンジニア的なアプローチとしては適切ではないように思っていた。つまりダサい。

解決策

調べていたら、Laravelの Class aliases は動的に設定できるらしい。

これを利用して、下記のファイルを Tinker を呼び出す時に読み込ませてあげればよい。

.tinker
<?php

$loader = Illuminate\Foundation\AliasLoader::getInstance();
$loader->alias('User', 'App\Models\User');

こうなる。

php artisan tinker .tinker

>>> User::find(1)->toSql()
=> "select * from `users` where `users`.`deleted_at` is null"

かなり打ちやすくなった。

参考

15
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
13