博客列表 >5月23日作业——实例演示查询构造器中的10个最常用的方法

5月23日作业——实例演示查询构造器中的10个最常用的方法

钱光照的博客
钱光照的博客原创
2018年05月25日 00:27:12682浏览

以实例演示:查询构造器中的10个最常用的方法:
Table(),field(),order(),where(),limit(),insert(),insertAll(),update(),delete(),以及如何获取自增主键和数据打包方法data()

实例代码如下:

实例

<?php
namespace app\index\controller;
use think\db;

class Query
{
	//单条查询
	public function find()
	{
		$res=Db::table('students')
		// ->field('name,sex,grade')
		->field(['name'=>'姓名','sex'=>'性别','grade'=>'成绩'])
		->where('id','<=',10)
		->find();
		dump($res);
	}
    
    //多条记录查询
	public function select()
	{
		$res=Db::table('students')
		->field(['name'=>'姓名','sex'=>'性别','grade'=>'成绩'])
		// ->where('grade > 80')
		->where('grade','>',80)
		// ->order('grade DESC')
		->order('grade','DESC')
		->limit(3)
		->select();

		dump($res);
	}

    //插入数据
	public function insert()
	{
		// $data=[
		//     'name'=>'鲁迅',
		//     'sex'=>0,
		//     'age'=>58,
		//     'grade'=>140
		// ];

		// // $num = Db::table('students')->insert($data);
		// // $id=Db::getLastInsID();
		// // return $num ? '添加成功,ID='.$id : '没有记录被添加';

		// // $id = Db::table('students')->insertGetId($data);
		// // $id=Db::getLastInsID();
		// // return $id ? '添加成功,ID='.$id : '没有记录被添加';

        // $num = Db::table('students')->data($data)->insert();
		// $id=Db::getLastInsID();
		// return $num ? '添加成功,ID='.$id : '没有记录被添加';
		// 
		$data = [
		    ['name'=>'王安石','sex'=>0,'age'=>45,'grade'=>125],
		    ['name'=>'韩愈','sex'=>0,'age'=>53,'grade'=>133],
		    ['name'=>'李清照','sex'=>1,'age'=>38,'grade'=>145]
		];
        $num = Db::table('students')->data($data)->insertAll();
        return $num ? '添加成功'.$num.'条记录' : '没有记录被添加';
	}
    
    //更新数据
	public function update()
	{

		// $num = Db::table('students')
		// ->where('grade','<=',76)
		// ->data(['grade'=>Db::raw('grade+10')])//获取原始值
		// ->update();
		// return $num ? '更新成功'.$num.'条记录' : '没有记录被更新';

		$num=Db::table('students')
			->update(['grade'=>75,'id'=>7]);
		return $num ? '更新成功'.$num.'条记录' : '没有记录被更新';
	}
    
    //删除记录
	public function delete()
	{
		// $num = Db::table('students')->delete(38);
		// $num = Db::table('students')->delete([38,39,40]);//删除多条
		$num = Db::table('students')
		->where('grade','=',38)
		->delete();

		// $num = Db::table('students')->delete(true);//表清空
		// 
		return $num ? ' 删除成功'.$num.'条记录' : '没有记录被删除';
	}
}

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议