zend framwork ;;zend_db_table

13 篇文章 0 订阅
7 篇文章 0 订阅
1、假设数据库中有个roundtable 的表
class roundtable extends zend_db_table{}
$table=new roundtable();
 
zend_db_table是一个抽象的类,必须继承然后实例化才可以使用
2、表名跟主键
如:classname   extends zend_db_table
那么:数据表名为class_name
也可以指定其他表:通过protected $_name=“user_name”来指定
默认主键更改:protected $_primary="another_id"
还可在方法中定义,但是最后要加一个parend::_setup();方法
如:calss calssname extends zend_db_table{
     protected function _setup(){
         $this->_name='name'
         $this->primary=another_id
         parent::_setup();
  }
}
3、插入数据
class roundtable extends zend_db_table{}
$table=new roundtable();
$data=array('name'=>'baobao','time=>7788');
//id为返回最后一行的id
$id=$table->insert($date);
4、更新数据
$table=new roundtable();
$db=$table->getAdapter();
$set=array('name'='baobao');
$where =$db->quoteinto('name=?','lailai');
//返回被更新行的id
$rows_affected=$table->update($set,$where);
5、删除数据
class roundtable extends zend_db_table{}
$table=new roundtable();
$db=$table->getadapter();
$where=$db->quoteinto('name=?','baobao');
$rows_affected=$table->delete($where);
6、根据主键查找数据
  class roundtable extends zend-db-table{}
$table=new roundtable();
$row=$table->find(1);//返回一条记录
$rowset=$table->find(array(1,2,3));//返回多条记录
7、取回一条记录
//sql=select * from round_table where noble_title=sir and     first_name='robin' order by favorite_color
 
class roundtable extends zend_db-table{}
$table=new roundtable();
$db=$table->getadapter();
$where =$db->quoteinto('noble_titl=?','sir')
             .$db->quoteinto('and first_name=?','robin');
$order='favorite_color';
$row=$table->fetchRow($where ,$order);
  8、取回多条记录
class roundtable extends zned_db_talbe{}
$table=new roundtable();
$db=$table->getadapter();
//sql=select * from round_tbale where noble_title='sir' order by first_name limit 10 offset 20
$where =$db->quoteInto('noble_title=?','sir');
$order='first_name';
$count=10;
$offset=20;
$rowset=$table->fetchAll($where,$order,$count,$offset);
9、adding domain logic
可以重载insert()和update()方法,以实现载数据更改提交钱的操作和验证
class roundtable extends zend_db_table
public function insert($data){
     //添加一个时间戳
     if(empty($data['created_on'])){
         $data['created_on']=time();
     }
     return parent::insert($data);
}
 
public function update($data)
{
     if(empty($data['updated_0n'])){
     $data['updated_on']=time();
   }
     return parent::update($data);
}
也可以设定自己的find() 方法,通过主键外的其他字段来查询数据
class roundtbale extends zend_db_table
public  fucntion  findAllwithname($name){
   $db=$this->getadapter();
   $where=$db->quoteinto('name=?',$name);
   $order='first_name';
     return $this->fetchAll($where ,$order);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值