NO.24 ZenTaoPHP框架提供的DAO功能

禅道并没有试着去实现ORM或者ActiveRecord这样的概念。因为我们相信,框架要留给开发人员足够的自由发挥的空间,而不是所有的都要包办。所以框架里面提供了一个简单方便的数据库访问对象类:dao,让我们来看具体的写法。

更多禅道开源详情:http://www.zentao.net

一、查询语句:

$this->dao->select('*')->from('user')->where('account')->eq('wwccss')->fetch();
$this->dao->select('*')->from('user')->where('id')->gt(10)->andWhere('age')->lt(20)->orderBy('id desc')->limit('1,10')->fetchAll()

条件语句:

$this->dao->select('*')->from('user')->where('id')->gt(10)->beginIF($class == 'online')->andWhere('status')->eq('online')->fi()->fetchAll();

二、插入语句:

$user->account = 'wwccss';
$user->password = '123456';

$this->dao->insert('user')->data($user)->exec();
return $this->dao->lastInsertID();

或者:

$this->dao->insert('user')

  ->set('account')->eq($account)
  ->set('password')->eq($password)
  ->exec();

三、更新语句:

$this->dao->update('user')->data($user)->where('id')->eq($userid)->limit(1); 或者:

$this->dao->update('user')

  ->set('account')->eq($account)
  ->set('password')->eq($password)
  ->exec()

四、REPLACE语句

$this->dao->replace('user')->data($user)->exec();  

五、删除语句:

$this->dao->delete()->from('user')->where('id')->eq($userid);

六、左连接

$this->dao->select('t1.*, t2.*')->from('user')->alias('t1')->leftJoin('userGroup')->alias('t2')->on('t1.account = t2.account')->fetchAll();

六、其他便利的方法:

$this->dao->findByAccount($account)->from('user')->fetch(); // 魔术方法,按照account进行查询。
$this->dao->select('*')->from('user')->fetchAll('account');     // 返回的结果中,以account为key。
$this->dao->select('account, realname')->from('user')->fetchPairs();     // 返回account=>realname的键值对。
$this->dao->select('class, account, realname')->from('user')->fetchGroup('class');     // 按照所属的class进行分组。

更加具体的例子,大家可以参考zentaopms中的代码。

转载于:https://my.oschina.net/candou/blog/80292

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值