symfony中DQL

可参考:DQL

 

Doctrine::getTable('admin')->createQuery()->where('userid=?',$n)->getSqlQuery ();//获取sql语句
Doctrine::getTable('admin')->createQuery()->select ('col1,col2')->where('userid=?',$n);//选取某些列
Doctrine::getTable('admin')->createQuery()->select ('col1,col2,count(id) as myid ')->where('userid=?',$n);//别名列
   $rows=Doctrine_Query::create()->update('admin')->set('userid',"'admin'")->where('id=1')->execute();
   //echo $rows后显示更新行数

查询
   $ret=Doctrine::getTable('admin')->createQuery()->where('userid=?','admin')->fetchArray();//symfony中

   $q=Doctrine::getTable('admin')->find(1);//find(1)表示查找主键值为1,symfony中用
   echo $q->getId();

    $ret=Doctrine_Query::create()->from('admin')->fetchArray();
   print_r($ret);

   $rval=Doctrine::getTable('admin')->createQuery()->where('userid=?',$n)->execute();
    echo $rval[0]->getUserId(); //sf中用
    print_r($rval->toArray ());//转成数组

返回记录数:
// (1) 在lib/model/doctrine/xxxxTable.class.php添加:
   public function sit_Count(){
          return $this->createQuery()->count();
   }
// (2) 在lib/model/doctrine/xxxx.class.php添加:
   public function s_count(){
        return $this->getTable()->createQuery()->count();
   }
在动作中的引用方法:
   (1) Doctrine_Core::getTable('表名')->sit_Count();
   (2) $s=new 表名();$count = $s->s_count();

 

findBy*()和findOneBy*()

Doctrine::getTable('tb')->findOneByCreatedAt('2011-01-09 12:12:12');//查找created_at为这个时间的一行记录

 

doctrine查询读取别名列
sql:select u.*,(select name from space where u.id=user_id) vvv from user u

$query=Doctrine::getTable('user')->createQuery('u')->select('u.*,(select name from space where u.id=user_id) vvv ');
$e=$query->execute();
echo $e[0]->vvv ;

 

转自:GT空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值