博主信息
博文 64
粉丝 2
评论 1
访问量 58977
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
查询构造器中的10个最常用的方法——2018年5月23日
Y的博客
原创
1380人浏览过

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

运行实例 »

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


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学