Blogger Information
Blog 64
fans 2
comment 1
visits 47015
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
查询构造器中的10个最常用的方法——2018年5月23日
Y的博客
Original
1217 people have browsed it

Table(),field(),order(),where(),limit(),insert(),insertAll(),update(),delete(),以及如何获取自增主键和数据打包方法data():

实例

<?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.'条记录~~' : '没有记录被删除';
	}
}

运行实例 »

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


Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post