この記事の例では、Symfony2 が Doctrine を使用してデータベースクエリを実行する方法を説明します。参考として、以下のように皆さんと共有してください:
記事で使用されている定義済み変数:
$em = $this->getDoctrine()->getEntityManager(); $repository = $em->getRepository('AcmeStoreBundle:Product')
1. 基本的なメソッド
$repository->find($id); $repository->findAll(); $repository->findOneByName('Foo'); $repository->findAllOrderedByName(); $repository->findOneBy(array('name' => 'foo', 'price' => 19.99)); $repository->findBy(array('name' => 'foo'),array('price' => 'ASC'));
2.
注: (1) 結果を取得するには、以下を使用できます。$query = $em->createQuery( 'SELECT p FROM AcmeStoreBundle:Product p WHERE p.price > :price ORDER BY p.price ASC' )->setParameter('price', '19.99′); $products = $query->getResult();
$product = $query->getSingleResult();
->setMaxResults(1); try { $product = $query->getSingleResult(); } catch (\Doctrine\Orm\NoResultException $e) { $product = null; }
->setParameters(array( 'price' => '19.99′, 'name' => 'Foo', ))