摘要: <?php /** * Created by PhpStorm. * User: Administrator * Date: 2018-11-22 * Time: 12:51 */ //Connection.php 数据库连接器类 (三大核心主键) //Query.php&nbs
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2018-11-22
* Time: 12:51
*/
//Connection.php 数据库连接器类 (三大核心主键)
//Query.php 查询类
//Buider.php 生成器类
//日常业务必用的知识,重要!!!!
public function select()
{
//查询满足条件的多条记录
$res = Db::table('staff')
->field(['name'=>'姓名','salary'=>'工资'])
->where('salary','>',3000)
//order()支持字符串 如:
//->order('salary DESC') //TEST OK!
//order()也支持数组 如:
->order('salary','DESC')
->limit(5) //记录数
->select();
dump($res);
}
public function insert()
{
//新增单条记录 insert()
//新增数据不需要进行前置查询操作
//以关联数组的形式插入数据
$data = [
'name' => '曹操',
'sex' => 0,
'age' => 49,
'salary' => 5300
];
//老师推荐使用data()方法将要新增的记录打包,尽量不要在最终方法中传入参数
$num = Db::table('staff')->data($data)->insert();
$id = Db::getLastInsID();
return $num ? '添加成功,id='.$id : '没有记录被添加';
//新增多条记录 insertAll()
//测试新增多条记录,返回新增记录的数量
$data = [
['name' => '张飞','sex' => 0,'age' => 50,'salary' => 6000],
['name' => '刘备','sex' => 0,'age' => 55,'salary' => 5000],
['name' => '关羽','sex' => 0,'age' => 40,'salary' => 7000],
];
$num = Db::table('staff')->data($data)->insertAll();
return $num ? '添加成功'.$num.'条记录~~' : '没有记录被添加';
}
public function update()
{
//更新操作必须是基于前置查询,不允许无条件更新!!!!
//更新操作使用的是update()方法
//TEST: 将工资小于等于4000的,加薪1000
$num = Db::table('staff')
->where('salary','<=',4000)
//工资这里要引用原salary字段的值,所以要用到 Db::raw() 引用原始数据,不能直接字符串操作,否则为0!!!!!
->data(['salary'=> Db::raw('salary+1000')])
->update();
$num = Db::table('staff')
//如果更新记录中存在主键,则直接根据主键更新
->update(['sex'=>1,'staff_id'=>19]);
return $num ? '更新成功'.$num.'条记录~~' : '没有记录被更新';
}
public function delete()
{
//删除也更新操作一样,也必须是基于前置查询,绝不允许无条件删除
//删除操作使用:delete()方法
$num = Db::table('staff')->where('salary','>',10000)->delete();
//如果想删除全部记录,可直接给delete()方法传入true: delete(true)
$num = Db::table('staff')->delete(true);
return $num ? '删除成功'.$num.'条记录~~' : '没有记录被删除';
}
}
//此课程知识基本掌握,期待后边的使用模型来实现数据库操作课程
批改老师:天蓬老师批改时间:2018-11-22 13:35:05
老师总结:代码写得非常规范,注释也很完整,具备成了一个合格码农的条件,加油