0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Laravel】データベース

Last updated at Posted at 2020-07-20

この記事は以下の書籍を参考に執筆しました

データベースの準備

Laravelのアプローチ

DBクラス(クエリビルダ)

一番シンプルなDBクラスを使用する
直接SQLを直接実行するようなもの。

クエリビルダ機能がついている。

用語 説明
DBクラス DB利用のための基本的な機能を備えている。
クエリビルダ メソッドを使ってDBにアクセスできるようになり、SQLではなく、PHPらしい処理ができるようになる

Eloquent(ORM)

EloquentというORMを使用することで、DBクラスよりも遥かにPHPらしい処理をできる。

用語 説明
ORM DBのデータとプログラミング言語のオブジェクトの間を取り持つ

SQLiteデータベースを用意する

Laravelはどのデータベースを使っても同じ扱いができるため、どのデータベースを使おうと基本的に違いはない。
ここではSQLiteを利用していく

SQLiteの特徴

SQLiteはデータベースサーバの起動が必要なく手軽に利用できる。
PHPにはSQLiteファイルにアクセスするための機能があるため,SQLite本体すら不要。

テーブルを利用する

Laravelカレントディレクトリへ移動してdatabaseディレクトリへ移動して下記コマンド

$ sqlite3 database.sqlite

下記コマンドでDBを作成

CREATE TABLE `people` (
   `id`   INTEGER PRIMARY KEY AUTOINCREMENT,
   `name`   TEXT NOT NULL,
   `mail`   TEXT,
   `age`   INTEGER
);

出典:PHPフレームワークLaravel入門 第2版

ダミーレコードを追加

INSERT INTO `people` VALUES (1,'taro','taro@yamada.jp',35);
INSERT INTO `people` VALUES (2,'hanako','hanako@flower.com',24);
INSERT INTO `people` VALUES (3,'sachiko','sachi@happy.org',47);

出典:PHPフレームワークLaravel入門 第2版

DB利用のための手続き

php:config/database.php
'default' => env('DB_CONNECTION', 'mysql'),

出典:PHPフレームワークLaravel入門 第2版

これを以下に修正

php:config/database.php
'default' => env('DB_CONNECTION', 'sqlite'),

出典:PHPフレームワークLaravel入門 第2版

これでLaravelで利用するDBがSQLiteになった

参考文献

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?