ThinkPHPV5.0.3 – 5

查询构造器,传递表名儿和数组,生成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);

Leave a Reply

Required fields are marked *