加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

ThinkPHP中框架查询

发布时间:2020-12-13 17:31:15 所属栏目:PHP教程 来源:网络整理
导读:1.查询多条数据 ? ? ? ? ?1.1静态调用all方法或者select方法 // 获取所有数据 all 和 select $list = User:: all(); // 根据主键获取多个数据all 和 select where id in (1,2,3) $list = User::all(‘1,3‘ ); $list = User::all([1,3 ]); // 或者使用数组查

1.查询多条数据

? ? ? ? ?1.1静态调用all方法或者select方法

// 获取所有数据 all 和 select

$list = User::all();

// 根据主键获取多个数据all 和 select   where id in (1,2,3)

$list = User::all(‘1,3‘);

$list = User::all([1,3]);

//或者使用数组查询(只能用all不能用select)   where status = 1

$list = User::all([‘status‘=>1]);

? ? ? ? ? ? ? 1.2动态调用all方法或者select方法

$user = new User();

//查询所有数据all 和 select

$list = $user->select();

//根据主键查询多条数据all 和 select

$list = $user->select(‘1,3‘);

$list = $user->select([1,3]);

//或者使用数组查询(只能用all不能用select)

$list = $user->all([‘status‘=>1]);

? ? ? ? ? ?注:all方法或者select方法返回的是一个包含模型对象的二维数组或者空数组select方法和All方法的应用:[obj,obj]

2.查询一条数据

? ? ? ? ? 2.1静态调用get方法或者find方法

//取出主键为1的数据  where id = 1

$user = appadminmodelUser::get(1);

$user = appadminmodelUser::find(1);

//使用数组查询(非主键字段),只能用get不能用find   where name = ‘thinkphp‘

$user = User::get([‘name‘ => ‘thinkphp‘]);

//取出第一条数据,只能用find不能用get

$user = User::find();

? ? ? ? ? ? ??2.2动态调用get方法或者find方法

$user = new User();

//取出主键为1的数据

$info = $user->find(1);

$info = $user->get(1);

//使用数组查询(非主键字段),只能用get不能用find

$info = $user->get([‘name‘ => ‘thinkphp‘]);

//取出第一条数据,只能用find不能用get

$info = $user->find();

? ? ? ? ?? ? 注:get或者find方法返回的是当前模型的对象实例或者null返回的模型对象,可以直接当做数组使用,也可以调用toArray() 直接转化为数组。find方法和Get方法的应用:

3.其他查询方法

? ? ? ? ? ?3.1where方法

$info = User::where(‘id‘,‘=‘,‘1‘)->find();

$info = User::where(‘id‘,‘1‘)->find();

$info = User::where(‘name‘,‘like‘,‘%thinkphp%‘)->select();

? ? ? ? ? ? ? ?3.2链式操作

$model = new Address();

$model->field(‘id
name‘)->select(); //指定要查询的字段,原生sql中select后面的字段

$model->order(‘id desc,time desc‘)->select(); //相当于原生sql中的order by

$model->limit(3)->select(); //相当于原生sql中的limit条件

$model->limit(0,3)->select(); 

$model->limit(‘0,3‘)->select(); 

$model->group(‘cate_id‘)->select();  //相当于原生sql中的group by

$model->having(‘id>3‘)->select();  //相当于原生sql中的having条件

$model->alias(‘a‘)->join(‘think_user_type t‘,‘a.id=t.user_id‘,‘left‘)->select(); //alias方法设置别名,join方法连表查询

? ? ? ? ? ? ? ?3.3聚合查询

? ? ? ? ? ??在模型中也可以调用数据库的聚合方法进行查询

? ? ? ? ? ? 3.4数据字段查询

?

查询一条记录的一个字段的值
Goods::where(‘id’,2)->value(‘goods_name’);
查询多条记录的一个字段的值,返回一个一维索引数组
Goods::where(‘id’,‘GT’,2)->column(‘goods_name’);
查询多条记录的一个字段的值,以id字段值作为数组索引
Goods::where(‘id’,2)->column(‘goods_name’,‘id’);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读