Symfony2 数据调用常用方法

本文介绍 Symfony 框架中使用 ORM 进行实体管理的方法,包括实体管理器的声明、常见查询操作如 findAll(), findOneBy(), findBy() 的使用,以及如何通过 SQL 语句直接查询数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、先声明一个实体管理器

$entityManager = $this->getDoctrine()->getEntityManager();
$respority = $entityManager->getRepository("AcmeDemoBundle:SymfonyUse");

格式 : AcmeDemoBundle:SymfonyUse (所属bundle:实体类)

二、常用方法之findAll()、findOneBy()、findBy()

1、findAll() 取所有实体

     $entitys = $respority->findAll();

2、findOneBy() 根据条件获取一个实体

     $entitys = $respority->findOneBy(array('name'=>'D&Luf' ));获取单一实体,这里是获取name为D&Luf的实体

     其中name对应yml文件里的字段名如:

    name:
  type: string
    length: 20
    fixed: false
    nullable: true

3、findBy() 根据条件获取实体

    $entitys = $respority->findBy(array('name'=>'D&Luf' ),array('telephone'=>'ASC'));

    $entitys = $respority->findBy(array('name'=>'D&Luf' ),array('telephone'=>'ASC'),$size,$start);

    第一个数组是字段过滤,第二数组是排序。$size是取得条数,$start是起始位置,可以用于分页。

    返回值,打印为

   Array ( [0] => Acme\DemoBundle\Entity\SymfonyUse Object (

    [id:Acme\DemoBundle\Entity\SymfonyUse:private] => 1

    [name:Acme\DemoBundle\Entity\SymfonyUse:private] => D&Luf

    [message:Acme\DemoBundle\Entity\SymfonyUse:private] => Luf

    [telephone:Acme\DemoBundle\Entity\SymfonyUse:private] => 123456 ) )

三、直接sql语句方式,获取数据

    $pdo = $entityManager->getConnection();

    $sql = "select * from symfony_use";

    $stmt = $pdo->prepare($sql);

    $stmt->execute();

    $entitys = $stmt->fetchAll();

    返回值,打印为

    Array ( [0] => Array ( [id] => 1 [0] => 1 [name] => D&Luf [1] => D&Luf [message] => Luf [2] => Luf [telephone] => 123456 [3] => 123456 )

               [1] => Array ( [id] => 2 [0] => 2 [name] => HELLO [1] => HELLO [message] => Hello [2] => Hello [telephone] => 234567 [3] => 234567 ) )

   

 

 

转载于:https://www.cnblogs.com/dluf/archive/2013/01/14/2859626.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值