<?php
namespace app\index\controller;
use \think\Db;
class Demo
{
public function find()
{
//测试数据库是否连接成功
//dump(\think\Db::query("select * from staff"));
//table()获取表明,find()获取满足条件的第一条。
//查询单条记录
$res = Db::table('staff')
->field(['name'=>'姓名','sex'=>'性别','salary'=>'工资'])
->where('staff_id','=',5)//wherr('字段','表达式','条件')
->find();
dump($res);
}
public function select()
{
//查询满足条件的多条记录
$res = Db::table('staff')
->where('salary'>3000)
->order('salary DESC')
->limit(2)
->select();
dump($res);
}
public function insert()
{
//新增单条记录insert()
// $data =
// [
// 'name' => '好嫂子',
// 'age' => '32',
// 'sex' => '1',
// 'salary' => 6000
// ];
// $res = Db::table('staff')->insert($data);
// $id = Db::getlastInsID();
// return $res ? '添加成功,id='.$id :'没有添加成功';
//推荐使用data()方法将要新增的记录进行打包,尽量不要在最终方法中传入参数
//新增多条记录 insertAll(),语法与新增单条基本一致
//新增多条记录,返回新增记录的数量
$data = [
['name'=>'小明', 'age'=>30, 'sex'=>1, 'salary'=>7000],
['name'=>'小凤', 'age'=>50, 'sex'=>0, 'salary'=>6400],
['name'=>'小王', 'age'=>34, 'sex'=>0, 'salary'=>5400],
];
$res = Db::table('staff')->data($data)->insertAll();
return $res ? '添加成功'.$res.'条记录' : '没有记录被添加';
}
public function update()
{
//更新操作必须是基于前置查询,不允许无条件更新
//更新操作使用的是update()方法
//例如:将工资小于等于5000的,加薪1000
$num = Db::table('staff')
->where('salary','<=','7000')
->data(['salary'=>DB::raw('salary+1000')])
->update();
return $num ? '更新成功'.$num.'条记录~~' : '没有记录被更新';
}
public function delete()
{
//删除也更新操作一样,也必须是基于前置查询,绝不允许无条件删除
//删除操作使用:delete()方法
//$num = DB::table('staff')->delete(8);
// $num = Db::table('staff')->delete([12,14,18]);//多个主键使用数组传入
$num = DB::table('staff')->where('salary','>','40000')->delete();
//如果想删除全部记录,可直接给delete()方法传入true: delete(true)
//$num = Db::table('staff')->delete(true);
return $num ? '删除成功'.$num.'条记录~~' : '没有记录被删除';
}
}