zoukankan      html  css  js  c++  java
  • thinkphp 模型的curd

    1.新增

      1.1  典型做法   

    $user = new User;
    $data = Request::only(['name','email']);
    $user->save($data);
    //返回true和false

    $user = new User;
    // post数组中只有name和email字段会写入  
    //使用allowField来指定允许的字段 true为表中的字段
    $user->allowField(['name','email'])->save($_POST);

     1.2 使用静态方法

    // 只允许写入name和email字段的数据
    $user = User::create([
        'name'  =>  'thinkphp',
        'email' =>  'thinkphp@qq.com'
    ], ['name', 'email']);
    echo $user->name;
    echo $user->email;
    echo $user->id; // 获取自增ID

     2 修改

     2.1查询后修改

    使用的数据的update方法返回的是受影响的行数  update为数据库的方法  不触发 钩子方法等事件

    User::where('id', 1)
        ->update(['name' => 'thinkphp']);

      使用事件为模型的方法

    //查询后修改 这种方法也比较推荐 也会使用到事件
    $user
    = User::get(1); $user->name = 'thinkphp'; $user->email = 'thinkphp@qq.com'; $user->save();

     2.2直接修改(都会触发事件)

        2.2.1 模型方法

    $user = new User();
    // post数组中只有name和email字段会写入
    $data = Request::only(['name','email']);
    $user->save($data, ['id' => 1]);

         2.2.2 使用静态方法

    User::update(['id' => 1, 'name' => 'thinkphp']);

             

    删除

        delete方法查询后删除会触发钩子函数

    $user = User::get(1);
    $user->delete();
    destroy方法直接传入主键不触发钩子函数等事件
    User::destroy(1);

     查询

        获取单个

    // 取出主键为1的数据
    $user = User::get(1);
    echo $user->name;
    
    // 使用查询构造器查询满足条件的数据
    $user = User::where('name', 'thinkphp')->find();
    echo $user->name;

    V5.1.23+版本开始,可以使用findOrEmpty方法,当查询数据不存在的话,返回空模型而不是Null。

     

     

     使用get和find都是返回模型对象可以当数组使用

     查询多个

    // 使用查询构造器查询
    $list = User::where('status', 1)->limit(3)->order('id', 'asc')->select();
    foreach($list as $key=>$user){
        echo $user->name;
    }
    查询构造器方式的查询可以支持更多的连贯操作,包括排序、数量限制等。
    
    V5.1.21+版本开始,可以在all方法之前使用Db类的查询链式操作,
    
    // 使用查询构造器查询
    $list = User::where('status', 1)->limit(3)->order('id', 'asc')->all();
    foreach($list as $key=>$user){
        echo $user->name;
    }

     

  • 相关阅读:
    Django -- 路由系统(URLconf)
    Django简介
    jQuery
    DOM
    JavaScript
    HTML,CSS
    Redis PK Memcached
    ORM框架-SQLAlchemy
    Memcached操作以及用法
    Py3快速下载地址
  • 原文地址:https://www.cnblogs.com/mofei12138/p/11994871.html
Copyright © 2011-2022 走看看