ThinkPHP6 数据查询

<?php
namespace app\controller;

use app\BaseController;
//1. 引用Db
use think\facade\Db;

class Index extends BaseController
{
    public function index()
    {
//  	使用table表名称要写全
//  	使用name可以忽略前缀
		
//		查单条
//		使用find必须有where 失败返回null
//  	$user = Db::table('user')->where('id', 111)->find();
//		失败返回异常
//  	$user = Db::table('user')->where('id', 111)->findOrFail();
//		失败返回[]
//  	$user = Db::table('user')->where('id', 111)->findOrEmpty();
//  	返回最后一条SQL语句
//  	$user = Db::getLastSql();
		
		
//		查多条
//		成功返回数据集 失败返回[]
//		$user = Db::table('user')->where('status', 2)->select();
//		失败返回异常
//		$user = Db::table('user')->where('status', 2)->selectOrFail();
//		toArray()返回数组
//		$user = Db::table('user')->where('status', 2)->select()->toArray();
		
		
//		其他查询
//		value() 返回一个数据一个字段值
//		$user =  Db::table('user')->value('email');
//		column()	返回多条数据一个字段值 只能多加一个id字段做索引
//		$user =  Db::table('user')->column('username','id');

	
//		优化查询 节约内存
//		chunk()	上千条用用
//		$user =  Db::table('user')->chunk(2,function($users){
//			foreach ($users as $user){
//				dump($user);
//			}
//			echo 1;
//		});

//`		cursor() 1G以上用用
//		$users = Db::name('user')->cursor();
//		
//		foreach($users as $user){
//			dump($user);
//		}
		
//		对数据进行多次查询的时候,建议保存实例,否则每次都会生成实例,造成浪费
		$user = Db::name('user');
		$res = $user->where('id', 1)->select();
//		removeOption() 实例会保留第一次查询对值,使用removeOption()清理后再进行下一次查询
		$res = $user->removeOption('where')->select();
		
    	return json($res);
    }

}


版权声明:本文为qq_39383675原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。