Laravelでデータベースを操作する際に、必ず出てくるEloquent(雄弁な)を理解できるように
簡単にまとめてみました。
図にすると下記のようなデータの流れとなります。

Laravelはフレームワークなので、インストールさえすれば何らかの表示をしてくれます。
Laravelの場合は、Laravelの初期画面が表示されます。
その処理の過程で、一部の処理をユーザーに開放して、カスタマイズできるようにして
います。なので、そこにユーザーの仕様を盛り込めば、アプリケーションの出来上がりです。
例えば、上図の濃い灰色のUSERエリアです。ここにArtisanコマンドで必要な
作業エリアを作れば、概ねアプリケーションは完成となります。
ArtisanはLaravelが用意しているコマンドラインインターフェイスです。
なので、アプリケーションの構築に役立つコマンドを多数提供しています。
EloquentはMVCのModelに紐ずく処理なので、ModelクラスをArtisanで作成すると、作成された
フォーマットでEloquentが使用できます。
但し、データーベースは事前に作成しておき、この作成しておいたデーターベース
にアクセスする設定は、プロジェクトフォルダにある.envファイルに記述しておくのが
ルールとなっています。この環境変数をもってデーターベースサーバーにアクセスする
ことになります。
DB_CONNECTION=mysql
DB_HOST=laravel_mysql
DB_PORT=3306
DB_DATABASE=データーベース名
DB_USERNAME=登録されたユーザー名
DB_PASSWORD=パスワード
必要な記述を追加したら、artisanコマンドでデーターベースに紐付いたModelクラスを作成します。
php artisan make:model hoge
hogeと言う名前のEloquent(ORM)を使えるモデルクラスがapp/Modelsに作成されます。
また、データベースに対して、テーブルの作成をコマンドで行える
”マイグレーション”
がLaravelでは提供されています。
マイグレーションはデータベースのバージョン管理のようなもので、作られたマイグレーション
ファイルにより、チームでアプリケーションのデータベーススキーマを定義、共有できるよう
にしてくれます。
データベースはSQL文しか受け付けません。しかし、SQL文は複雑でバグの温床となります。
そこで、SQL文を処理事でまとめて、ライブラリ化したEloquentを使います。
Eloquentが要件にあったSQL文を提供して、データベースにアクセスしてくれます。
なので、ユーザーはSQL文を作成せずに、データーベースの操作が行えます。
つまり、
SQL文を作る手間を省いて、
”プログラムに専念できるようにする”
という仕様を実現させたのがEloquentとなります。モダンを取り入れた結果となります。


