前回に紹介したLaravel Zeroはとても有用そうです。しかし、データベースの操作を行うことができなければですね。ということで、今回はその機能を追加します。さらに、もちろん私の好きなtinkerも使えるようにします。
データベース機能の追加
前回と同じプロジェクトの続きとして、データベース機能を追加します。前回では、applicationをartisanに改名したことをお忘れずに。
$ php artisan app:install database
Installing database component...
...
Require package via Composer: ✔
Creating a default SQLite database: ✔
Creating migrations folder: ✔
Creating seeders folders and files: ✔
Creating factories folder: ✔
Creating default database configuration: ✔
Updating .gitignore: ✔
...
上の実行により、Laravelでお馴染みのconfig/database.phpも追加されるので、.envに以下を追加します。
.env
...
DB_CONNECTION=mysql
DB_HOST=localhost
DB_DATABASE=zero
DB_USERNAME=root
DB_PASSWORD=password
準備が整ったら、これまたLaravelでお馴染みのEloquentのクエリの実行などが使えます。
use App\User;
use Illuminate\Support\Facades\DB;
$users = User::all(); // Eloquent
$users = DB::table('users')->get(); // Query Builder
Tinker
私には大好きなツールですが、これもデフォルトではLaravel Zeroにはデフォルトで装備されていません。 外部パッケージとなっているので、composerでインストールします。
$ composer require intonate/tinker-zero
さらに、config/app.phpを編集して以下の行を追加します。
config/app.php
'providers' => [
App\Providers\AppServiceProvider::class,
Intonate\TinkerZero\TinkerZeroServiceProvider::class, // これを追加!
],
実行してみましょう。こちらも、前回にapplicationをartisanに改名したことをお忘れずに。
$ php artisan tinker
Psy Shell v0.12.4 (PHP 8.2.15 — cli) by Justin Hileman
> use App\User;
> User::count();
> 4