查询构造器,传递表名儿和数组,生成sql,进去查询:
// 插入记录 Db::table('think_data') ->insert(['id' => 18, 'name' => 'thinkphp', 'status' => 1]); or Db::name('data') ->insert(['id' => 18, 'name' => 'thinkphp', 'status' => 1]); // 更新记录 Db::table('think_data') ->where('id', 18) ->update(['name' => "hello"]); // 查询数据 $list = Db::table('think_data') ->where('id', 18) ->select(); // 删除数据 Db::table('think_data') ->where('id', 18) ->delete();
链式操作 使用链式操作可以完成复杂的数据库查询操作,例如: // 查询十个满足条件的数据 并按照id倒序排列 $list = Db::name('data') ->where('status', 1) ->field('id,name') ->order('id', 'desc') ->limit(10) ->select(); dump($list)
支持链式操作的查询方法包括:
方法名 描述 select 查询数据集 find 查询单个记录 insert 插入记录 update 更新记录 delete 删除记录 value 查询值 column 查询列 chunk 分块查询 count等 聚合查询
事务:
Db::transaction(function () { Db::table('think_user') ->delete(1); Db::table('think_data') ->insert(['id' => 28, 'name' => 'thinkphp', 'status' => 1]); });
ps:图片处理类http://www.kancloud.cn/manual/thinkphp5/177530
生成json 的api格式:
生成json 的api格式:
public function getAll() { /* Log::init([ 'type' => 'File', 'path' => APP_PATH.'logs/' ]); */ //LogByApi(); // $ad = Ad::select(); $ad = new Ad; $allData = $ad->getAllData(); if(FALSE){ return json( array( 'status' => 1, 'message' => '请求成功', 'data' => $allData, ) ) ->getContent(); }else{ return json( array( 'status' => -1, 'message' => '请求失败', 'data' => array(), ) ) ->getContent(); } } 一些请求参数的获取: 如果要获取当前的请求信息,可以使用\think\Request类, 除了下文中的 $request = Request::instance(); 也可以使用助手函数 $request = request(); 当然,最方便的还是使用注入请求对象的方式来获取变量。 获取URL信息 $request = Request::instance(); // 获取当前域名 echo 'domain: ' . $request->domain() . '<br/>'; // 获取当前入口文件 echo 'file: ' . $request->baseFile() . '<br/>'; // 获取当前URL地址 不含域名 echo 'url: ' . $request->url() . '<br/>'; // 获取包含域名的完整URL地址 echo 'url with domain: ' . $request->url(true) . '<br/>'; // 获取当前URL地址 不含QUERY_STRING echo 'url without query: ' . $request->baseUrl() . '<br/>'; // 获取URL访问的ROOT地址 echo 'root:' . $request->root() . '<br/>'; // 获取URL访问的ROOT地址 echo 'root with domain: ' . $request->root(true) . '<br/>'; // 获取URL地址中的PATH_INFO信息 echo 'pathinfo: ' . $request->pathinfo() . '<br/>'; // 获取URL地址中的PATH_INFO信息 不含后缀 echo 'pathinfo: ' . $request->path() . '<br/>'; // 获取URL地址中的后缀信息 echo 'ext: ' . $request->ext() . '<br/>'; // 设置/获取 模块/控制器/操作名称 $request = Request::instance(); echo "当前模块名称是" . $request->module(); echo "当前控制器名称是" . $request->controller(); echo "当前操作名称是" . $request->action(); 获取请求参数 $request = Request::instance(); echo '请求方法:' . $request->method() . '<br/>'; echo '资源类型:' . $request->type() . '<br/>'; echo '访问地址:' . $request->ip() . '<br/>'; echo '是否AJax请求:' . var_export($request->isAjax(), true) . '<br/>'; echo '请求参数:'; dump($request->param()); echo '请求参数:仅包含name'; dump($request->only(['name'])); echo '请求参数:排除name'; dump($request->except(['name'])); //获取请求参数 $this->request = Request::instance(); 获取POST: $mobile = $this->request->post(MOBILE); 获取GET: $mobile = $this->request->get(MOBILE); 同时支持获取post和get: $mobile = $this->request->param(MOBILE);