<?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版权协议,转载请附上原文出处链接和本声明。