DoctrineのDatabase Abstraction Layerを使ったサンプルプログラム

naohiro19
記事: 256
登録日時: 14年前
住所: 愛知県

DoctrineのDatabase Abstraction Layerを使ったサンプルプログラム

投稿記事 by naohiro19 » 8年前

以下に示すプログラムはあらかじめGitHubにあるSplClassLoader.php」とDoctrineのDatabase Abstraction Layerのファイルをダウンロードする必要があります。
さらに「Symfony/YAML」を使ってdatabase.ymlを読み込んで$connectionParamsに入れることも可能になります。
ComposerでDoctorineのDBALと「Symfony/YAML」に書き換えてみます。

[codeyaml]
dbname:
user:
password:
host:
charset: utf8
driver: pdo_mysql
[/code]

CODE:

parse(file_get_contents('database.yml'));

// 接続
$conn = \Doctrine\DBAL\DriverManager::getConnection($connectionParams, $config);

// データベースの操作には クエリビルダを使います。
$queryBuilder = $conn->createQueryBuilder();


// usersテーブルからidが1のものをとってくる構文
$id = 1;
$result = $queryBuilder
		->from('users')
		->where('id = ?')
		->setParameter(0, $id);

// usersテーブルのnameカラムに「taro」という文字列を挿入する構文
$name = "taro";
$result = $queryBuilder
		->insert('users')
		->values(array('name' => '?'))
		->setParameter(0, $name);

// usersテーブルのidが1のものを削除する構文
$id = 1;
$result = $queryBuilder
		->delete('users')
		->where('id = ?')
		->setParameter(0, $id);

// users テーブルの nameカラムを「jiro」に変更する構文
$name = "jiro";
$result = $queryBuilder
		->update('users')
		->setValue('name', '?')
		->setParameter(0, $name);
最後に編集したユーザー naohiro19 on 2016年8月30日(火) 17:18 [ 編集 4 回目 ]

コメントはまだありません。