THINKPHP5.X数据库和前端模板语句等常用操作方法大全【内容详尽】

THINKPHP5.X数据库和前端模板语句等常用操作方法大全【内容详尽】

thinkPHP 5.X

$db   = db('user');//使用user表

    $user = [

        'username' => mt_rand(10000, 99999),

        'password' => md5('abc123'),

        'phone'    => '1333333333',

        'email'    => '1333333@qq.com',

        'created'  => time(),

    ];//要插入的数据

    $res = $db->insert($user);//执行插入一条数据,返回值是受影响的行数


    $user = [

        [

        'username' => mt_rand(10000, 99999),

        'password' => md5('abc123'),

        'phone'    => '1333333333',

        'email'    => '1333333@qq.com',

        'created'  => time()

        ],

        [

        'username' => mt_rand(10000, 99999),

        'password' => md5('abc123'),

        'phone'    => '1333333333',

        'email'    => '1333333@qq.com',

        'created'  => time()

        ],


    ];//要插入的数据

    $res = $db->insertAll($user);//执行插入多条数据,返回值是受影响的行数


    $res = $db->delete([5,6]);//删除ID为5和6的两条数据,返回值是受影响的行数

    $res = $db->delete(7);//删除ID为7的一条数据,返回值是受影响的行数


    $data=['name'=>'小明'];

    $res = $db->update($data);//将所有 name 字段更新为 小明


    $res = $db->setField('name','小红');//将所有 name 字段更新为 小红


    $res = $db->setInc('view',1);//将所有 view 字段加 1


    $res = $db->setDec('money',100);//将所有 money 字段减 100


    $res = $db->where('id','in',[5,6,7])->delete();//删除id是5,6,7的3条数据

    $res = $db->where('id','eq',1)->delete();//删除id是1的1条数据

    $res = $db->where('id',1)->delete();//删除id是1的1条数据

    where 操作符:

    eq : 等于

    gt : 大于

    lt : 小于

    egt: 大于等于

    elt: 小于等于

    neq: 不等于

    in : 范围查询

    like:模糊查询

    between:边界查询

    如果有多个查询条件,需要写多个where方法,只能是 AND 关系

    $res = $db->whereOr();//这个方法是 OR 关系


    $res = $db->find(1);//得到id为1的一行数据,此方法只能查询一条数据


    $res = $db->select();//查询多条数据


    $res = $db->field("id,name");//设置查询 id 和 name 字段,作用与where方法相似

    $res = $db->field(["id","name"]);//设置查询 id 和 name 字段,此方法只能有一个参数


    $res = $db->order("id DESC");//设置按 id 倒序 排序 方法1

    $res = $db->order(["id","DESC"]);//设置按 id 倒序 排序 方法2,此方法只能有一个参数


    $res = $db->limit(2);//限制查询数量为2条


    Db::query(查询SQL);执行原生SQL语句,只用于查询

    Db::execute(增删改SQL);执行原生SQL语句,只用于增删改


    $this->assign(给模板的变量名,值);//向前台模板传参

    $this->success('成功'[,'index/index/login']);//跳转至成功页面,如果设置了第二个参数,则跳转至该页面


    return $this->fetch();//此方法用于调用前台模板文件(显示前台界面)


    use think\Request;

    public function index(Request $request){

    $data=$request->post();//取得post

    $data=$request->get();//取得get

    $data=$request->param();//根据情况自动取post 或者get

    }:此方法为tp中取post 和 get 参数的方法

    语法糖为:

    1.$data=request()->post();

    2.$data=input('post.');


    Session::set(名,值);设置session

    Session::get(名);读取session

    Session::delete(名);删除session


    控制器中调用模型:

    $m=model('userModel');//调用userModel,此方法无需引入


    前端部分:

    {{literal}}

    {{$user}}

    {{/literal}}:原样输出,此标签之间的内容不会被解析


    保留变量:不需要assign赋值,而直接能在模板中访问的变量

    访问常量:{{$Think.const.常量名}}

    访问配置:{{$Think.config.配置项}}

    访问ThinkPHP版本号:{{$Think.THINK_VERSION}}


    访问当前模块名:{{Request.module}}

    访问当前控制器名:{{Request.controller}}

    访问当前操作(文件)名:{{Request.action}}


    三目运算符:{{$变量?真:假}}


    if语句:

    {{if condition="条件"}}

    //代码...

    {{elseif condition="条件2"}}

    //代码...

    {{else/}}

    //代码...

    {{/if}}


__STATIC__:对应 public/stitic/

__CSS__:对应 public/stitic/css/

__JS__:对应 public/stitic/js/


加载文件:{{load file="JS/CSS/IMG文件路径"}},将根据文件后缀名自动替换为对应的HTML标签


最后编辑于:2019/09/24作者: 牛逼PHP

发表评论