Table of Contents
ORMを使うパターン
use Doctrine\ORM\Query\ResultSetMapping; use Doctrine\ORM\Query\ResultSetMappingBuilder; use Doctrine\ORM\EntityRepository; use Doctrine\ORM\Tools\Setup; //とりあえず、たくさんインポート 中略 $em = $this->getDoctrine()->getEntityManager(); $rsm = new ResultSetMapping(); $rsm->addEntityResult('Acme\HelloBundle\Entity\Post', 'p'); $rsm->addFieldResult('p', 'id', 'id'); //第2引数がDBカラム名、第3引数がエンティティーのフィールド名 $rsm->addFieldResult('p', 'name', 'name'); $query = $em->createNativeQuery('SELECT id, name FROM Post WHERE id = ?', $rsm); $query->setParameter(1, 123); $resulet = $query->getArrayResult();//getArrayResult()は配列で取得 //getResult() もあるがなんだかよくわからない。
ORMを使わないパターン
$stmt = $this->getDoctrine()->getEntityManager()->getConnection()->prepare('select * from mimicry_ranking'); $stmt->execute(); $result = $stmt->fetchAll();//どうやってバインドするかは不明 //まあでもいい感じ結果取得できてます。
参考URL
Doctrine2 で SELECT を実行する
SQL だけと比べてさまざまなやりかたを比較してみた。エンティティクラスは次のとおり。 namespace Entities; /** @Entity **/ class Post { /** @Id @GeneratedValue @Co...
Créer une requête SQL native dans Symfony2 avec Doctrine2 | Mémos Symfony2
301 Moved Permanently
10分ぐらいで学べるSymfony2 〜Doctrine2のassociationsを見てみる〜 - taka512's blog
masterとcategoryのように複数テーブルに情報が分かれている場合でもDoctrine2はよろしくMAPしてくれます。 ただ、ORMを使っているとSQLが直接見えない分、残念なSQLになってしまう事があるので挙動を調べたメモです。 ...
http://blog.xfloyd.net/?p=600
Doctrine の DBAL レイヤーの使用方法 | Symfony2日本語ドキュメント
データベースと Doctrine (“The Model”) | Symfony2日本語ドキュメント