摘要:<?php namespace app\index\controller; use think\Db; class Query { //读操作返回的都是二维数组,没有满足条件的记录返回的是一个空数组 //写操作返回的是受影响的记录数,没有返回0 &nbs
<?php
namespace app\index\controller;
use think\Db;
class Query
{
//读操作返回的都是二维数组,没有满足条件的记录返回的是一个空数组
//写操作返回的是受影响的记录数,没有返回0
public function find()
{
//查询一条数据:table里是表名,find是主键ID=10
// $res = Db::table('staff')->find(10);
$res = Db::table('sp')
// ->field('name,jiage')
->field(['name as 姓名','jiage as 价格']) //写在数组中可以写别名
->where('jiage','>',11) //where(字段,表达式,条件)
->find();
//执行后的SQL语句: SELECT * FROM `staff` WHERE `staff_id` > 11 LIMIT 1
dump($res);
}
public function select()
{
//查询满足条件的多条记录
$res = Db::table('staff')
->field(['name as 姓名','salary as 工资'])
->where('salary', '>', '3000')
// ->order('salary DESC') //ASC由小到大 DESC 由大到小
->order('salary','asc') //第二种写法
->limit(5)
->select();
dump($res);
}
//新增操作
public function insert()
{
//新增一条记录
// $data=[
// 'name' => '处处留情',
// 'sex' => 0,
// 'age' => 79,
// 'salary' => 5300
// ];
// $num = Db::table('staff')->insert($data);
// $id = Db::getLastInsID();
// return $num ? '添加成功,$id='.$id : '没有记录被添加';
// return $num ? '添加成功,$id='.$id : '没有记录被添加';
//$data($data):将数据打包$option[]
//insertGetId() == insert() + getLastInsID()
// $id = Db::table('staff')
// ->insertGetId($data);
// return $id ? '添加成功,$id='.$id : '没有记录被添加';
// $id = Db::table('staff')
// ->data($data)
// ->insert();
// $id = Db::getLastInsID();
// return $id ? '添加成功,$id='.$id : '没有记录被添加';
//新增多条记录:insertAll()
$data = [
['name' => '张飞','sex'=>0,'age'=>50,'salary'=>7800],
['name' => '关羽','sex'=>0,'age'=>60,'salary'=>9000],
['name' => '刘备','sex'=>0,'age'=>70,'salary'=>6900]
];
//执行语句
$num = Db::table('staff')
->data($data)
->insertAll();
//返回结果
return $num ? '添加成功,'.$num .'条记录' : '没有记录被添加';
}
//更新操作
public function update()
{
//不允许无条件更新
//将工资大于等于8000的减500元
// $num = Db::table('staff')
// ->where('salary','>=',8000)
// ->data(['salary'=>Db::raw('salary-500')]) //Db::raw('salary')获取原始数据
// ->update();
$num = Db::table('staff')
->update(['sex'=>1,'staff_id'=>39]); //update([更新内容,更新条件])
return $num ? '更新成功,'.$num .'条记录' : '没有记录被更新';
}
//删除操作
public function delete()
{
//不允许无条件删除:delete()
//返回的是受影响的记录条数
// $num = Db::table('staff')->delete(39); //delete(删除主键)
// $num = Db::table('staff')
// ->delete([7,8,9]); //删除多个指定id
$num = Db::table('staff')
->where('salary','>=',9000)
->delete();
$num =Db::table('staff')->delete(true); //清空数据表
return $num ? '删除成功,'.$num .'条记录' : '没有记录被删除';
//删除数据使用软删除实现,用更新模拟删除
}
}
在实际开发中,不在控制器操作数据库,采用模型来操作数据库
批改老师:查无此人批改时间:2019-04-16 09:39:49
老师总结:完成的不错。说的对,好的项目都不在控制器里操作数据库。继续加油。