1、数据创建
html文件 写一个表单
<form method="post" action="http://localhost/demo/Home/User/create">
<p>用户<input type="text" name="user"/><p>
<p>邮箱<input type="text" name="email"/><p>
<input type="submit" value="提交"/>
</form>
name的值必须是数据库中有的字段 当点击提交按钮时这是内容会提交到Home模块User控制器的create方法中
pulic function create(){
$user = M('User');
var_dump($user->create());
}
这时候也会回输出
array(size=2)
'user' => string '蜡笔小新' (length=12)
'email' => string 'xiaoxin@qq.com' (length=12)
PS:这里create()方法就是数据创建,数据的结果就是提交的POST数据的键值对。特别注意的是,提交过来的字段和数据库的字段是对应的,否则无法解析。
//通过数组手工获取数据,覆盖提交的
$user = M('User');
$data['user'] = $_POST['user'];
$data['email'] = $_POST['email'];
var_dump($user->create($data));
//默认是$_POST,传递$_GET修改
$user = M(‘User’);
var_dump($user->create($_Get));
2、数据写入
//数据写入使用的是add()方法
//新增一条数据
$user = M('User');
$data['user'] = "阿德";
$data['email'] = 'adsdada';
$user->add($data);
add()方法支持的连贯操作有:
1、table 定义数据表名称
2、data 制定要写入的数据对象
3、field 定义要写入的字段
4、relation 关联查询
5、validate 数据自动验证
6、auto 数据自动完成
7、filter 数据过滤
8、scope 命名范围
9、bing 数据绑定操作
10、token 令牌验证
11、comment SQL注释
3、数据读取
1、where 查询或更新条件
2、table 要操作的数据表名称
3、alias 数据表别名
4、field 查询字段
5、order 结果排序
6、group 查询分组
7、having 分组再查询
8、join 多表链接查询
9、union 合并SELECT
10、distinct 取唯一值
11、lock 锁
//显示默认所有数据
$user = M('user');
var_dump($user->select());
//获取第一条user字段的值
$user = M('user');
var_dump($user->getField('user'));
//获取所有user字段的值
$user = M('user');
var_dump($user->getField('user', true));
//传递多个字段 获取所有
$user = M('user');
var_dump($user->getField('user,email'));//输出的形式是键值对的形式 键是user 值是email
//id冒号分隔
$user = M('user');
var_dump($user->getField('id , user,email',‘:’));//输出的形式是id user email之间的形式是以冒号分割的。
4、数据更新
//数据更新使用的方法是save()方法,主要是对数据的修改操作
//修改第一条数据 通过id找到这条数据 然后再更新这条数据
$user = M('user');
$data['user'] = '蜡笔小新';
$data['email'] = 'daxin@qq.com';
$map['id'] = 1;
$user->where($map)->save($data);//成功返回1 否则返回0
//默认主键为条件
$user = M('User');
$data['id'] = 1;
$data['user'] = '蜡笔小新';
$data['email'] = 'asdasd';
$user->save($data);//系统会根据这几个键看那个键是主键 然后来找到这条数据
//修改某一个值
$user = M('User');
$map['id'] = 1;
$user->where($map)->setField('user','蜡笔大仙');
//统计累计, 累加累减
$user = M('User');
$map['id'] = 1;
$user->where($map)->setInc('count' , 1);
5、数据删除
//直接删除
$user = M('user');
$user->delete(12);
//根据ID来删除
$user = M('User');
$map['id'] = 16;
$user->where($map)->delete();
//批量删除多个
$user = M('User');
$user->delete(1,2,3);
//输出count为0且按时间倒叙的前5个
$user = M('user');
$map['count'] = 0;
$user->where($map)->order(array('date'=>'DESC'))->limit(5)->delete();
//删除所有数据,谨慎
$user = M('User');
echo $user->where('1')->delete();
//delete()方法支持的连贯操作有
1、where 查询活更新条件
2、table 要操作的数据表明名称
3、alias 数据表别名
4、order 结果排序
5、lock 锁
6、relation 关联查询
7、scope 命名范围
8、bind 数据绑定操作
9、comment SQL注释
6、ActiveReocrd模式
//这种模式最大的特别就是简化了CURD的操作,并且擦用对象化的操作方式,便于使用和理解
//添加一条数据
$user = M('User');
$user->user = '火影忍者'
$user->email = 'huoying@qq.com'
$user-add();
//结合create
$user = M('User');
$user->create();
$user->user = 'asd';
$user->add();
//找到主键为4的值
$user = M('User');
var_dump($user->find(4));
//查找user = 蜡笔小新的记录
$user = M('User');
var_dump($user->getByUser('蜡笔小新'));
//输出user
echo $user->user;
//通过主建查询多个
$user = M('User');
var_dump($user->select('1,2,3'));
//修改一条数据
$user = M('User');
$user->find(1);
$user->user = '蜡笔小新'
$user->save();
//删除当前找到的数据
$user = M('User');
$user->find(11);
$user->delete();
//删除主键为10的数据
$user = M('User');
$user->delete(10);
//删除主键为10。11的数据
$user = M('User');
$user->delete('10,11');
网友评论