TP开发经验2
2011-06-07 14:36 卫佳 阅读(252) 评论(0) 编辑 收藏 举报定义模型类:
class 表名Model
extends Model{
[//手动定义字段[可选]
protected $fields = array(
'id',
'username',
'email',
'age',
'_pk'=>'id', //主键
'_autoInc'=>true //是否自增
)
]
}
记录的修改:
$User = D("User") // 实例化 User 对象YiWu Sunglasses
$User->find(1) // 查找 id 为 1 的记录
$User->name = 'ThinkPHP' // 把查找到的记录的名称字段修改为 ThinkPHP
$User->save() // 保存修改的数据
更新特定字段的值
$User->setField('name','TopThink','id=1')
同样可以支持对字段的操作
$User->setField('score','(score+1)','id=1')
新建记录,方法1:
$User = new UserModel() //实例化 User 对象
$User->字段名 = 字段值 //给字段赋值
$User->add() //添加记录
新建记录,方法2:
$data['字段名'] = 字段值; //给字段赋值
$User = D('User'); //实例化 User 对象
$User->add($data); //$insertId,Add 方法的返回值就是最新插入的主键值,可以直接获取。
新增多条记录:
$User = new UserModel()
$data[0]['name'] = 'ThinkPHP'
$data[0]['email'] = 'ThinkPHP@gmail.com'
$data[1]['name'] = '流年'
$data[1]['email'] = 'liu21st@gmail.com'
$User>addAll($data)
删除记录
$User->find(2)
$User->delete() // 删除查找到的记录
$User->delete('5,6') // 删除主键为 5、6 的数据
$User->deleteAll() // 删除查询出来的所有数据
记录查询
$User->getDbFields() //获取当前数据字段
$User->findAll(); //查找所有记录
$User->findAll('1,3,8') //查询主键为1,3,8的记录集
$User->count() // 获取记录数
$User->max('score') // 获取用户的最大积分
$User->min('score','score>0') // 获取积分大于 0 的用户的最小积分
$User->avg('字段名') // 获取所有记录的字段值的平均值
$User->sum('字段名') // 统计字段值
$User->getN(2,'score>80','score desc') // 返回符合条件的第 2 条记录
$User->getN(2,'score>80','score desc') //还可以获取最后第二条记录
$User->first('score>80','score desc') //如果要查询第一条记录,还可以使用
$User->last('score>80','score desc') // 获取最后一条记录
$User->top(5,'','score desc') // 获取积分最高的前 5 条记录
$User->getBy('name','liu21st') //跟据字段的字段值来查询记录
$Model = new Model() // 实例化一个 model 对象 没有对应任何数据表
$Model->query("select * from think_user where status=1")
$objrs = $Model->query("select *
from think_user where status=1") //自定义查询
$Model->execute("update think_user set name='thinkPHP' where
status=1") //用于更新和写入数据的 sql 操作,返回影响的记录数
$User->startTrans() // 启动事务
$User->commit() // 提交事务
$User->rollback() // 事务回滚