为了账号安全,请及时绑定邮箱和手机立即绑定

快速入门ThinkPHP 5.0 --模型篇

难度中级
时长 3小时 0分
学习人数
综合评分9.67
70人评价 查看评价
10.0 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 插入多条数据http://img1.sycdn.imooc.com//5d7383e000011cf406490303.jpg


    查看全部
    0 采集 收起 来源:添加数据

    2019-09-07

  • 成员方法(get字段名Attr)[字段名首字母大写]

    在model中使用   后面有代码

    在controller中use下model中的类(该类需继承model类)

    后利用各种查询方法获取数据值

    可利用toArray获取改后数据

    可利用getData获取改前数据

    <?php
    namespace app\index\model;
    use think\Model;
    class User extends Model{					
            #获取器的设置 get字段名Attr(注意字段名开头大写)	
        public function getSexAttr($value){		
            switch ($value) {			
            case '1':				
            return '男';				
            break;			
            case '2':				
            return '女';				
            break;			
            default:				
            return '未知';				
            break;		
            }	
        }	
    }
    <?php
    namespace app\index\controller;
    use think\Controller;
    use app\index\model\User;
    class Index extends Controller{	
               public function index(){			
               $res = User::get(2);		
               dump($res->sex); 		
               dump ($res->toArray());//toArray()获取改后数据		
               dump($res->getData());//getData()获取原始数据			
               }
             }


    查看全部
    0 采集 收起 来源:模型获取器

    2019-07-12

  • <!-- Db::name  助手函数-->

    Db::name('不加前缀数据库名')->insert($一维数组) 返回值是影响记录的行数

    Db::name('不加前缀数据库名')->insertGetId($一维数组) 返回ID

    Db::name('不加前缀数据库名')->insertAll($二维数组)  返回成功插入行数



    查看全部
    0 采集 收起 来源:添加数据

    2019-07-11

  • $res = User::destroy(function($query){

    $query->where('id','<','5'); 使用闭包函数删除

    //返回影响的行数

    });

    dump($res);


    $userModel =User::get(6);  先调用后删除

    $res = $userModel->delete();

    dump($res);


    # 全部删除("1=1")

    $res = User::where('id','<',8)->delete();  #where方法删除

    dump($res);


    查看全部
  • ->where('字段名','表达式','值')  

    ->whereOr('字段名','表达式','值')

    $db = Db::name('user');       

    $sql = $db

    ->where('id','in','1,2,3')

    ->whereOr('username','eq','morankin')

    ->whereOr('num','lt','10')

    ->where('email','morankin@qq.com')

    ->buildSql(); 

    以上其实就是定义了一个筛选条件但是老师给的这个其实筛选条件没有什么必要 and 在我这里认为比or是 小一级的(后面会解释) , 条件满足id  为1,2,3,和email 为Morankin@qq.com  或者满足username 为morankin的  再或者 满足 num 小于10的  

    我任务这样其实我们就有了3个条件

    一个为(id and email )一个为username 一个为num

    其实怎么理解都可以,我这个我比较好理解罢了  但是这样的筛选条件其实没有必要,也可以说无意义的 毕竟是给大家练习的

    不区分大小写

    EQ   =

    NEQ  <>

    LT   <

    ELT <=

    GT  >

    EGT >=

    BETWEEM   BETWEEN * AND *

    NOTBETWEEN NOTBETWEEN * AND *

    IN    IN (*,*)

    NOTIN   NOT IN (*,*)


    查看全部
    1 采集 收起 来源:条件构造器

    2019-07-09

  • # delete 返回影响的行数 对数据库进行删除 如果想要删除的为主键 可以不需要加where  直接在delete(添加主键id值)

    DB::name(user) ->where(['id'=>1])->delete();

    DB::name(user)->delete(1);


    查看全部
  • update() 返回影响的行数 可以影响一个数组

    setField() 返回影响的行数 只能影响一个字段 

    setInc() 返回影响的行数 每次递增  默认递增值为1

    setDec() 返回影响的行数 每次递减  默认递增值为1


    查看全部
  • 版本 调整功能 5.0.9 db助手函数默认不再强制重新
    查看全部
  • value 返回一条记录 返回的结果并且是字条记录的某个字段

     如果结果不存在返回 NULL

    Db::table('lx1_user')->where(['id'=>'2'])->value('username');


    查看全部
  •  find 返回一条记录 返回的结果是一个一维数组  而其中的where 是为了更准确的查找到所需要的记录 就是可以添加一个字段名 比如你想要id为1的记录或者是username为xxx的 

    ->where(['字段名'=>'字段名的数据'])

    Db::table('lx1_user')->where(['id'=>'10']) -> find();


    查看全部
  • 源生方法的数据插入数据表

     Db::execute("insert into lx1_user set   username=?,password=?,email=?",[ 

    'morankin',md5('123'),'morankin@qq.com'

    ]);

    ?是给数据类名一个位置变量

    后面添加数据也是按照前面 ? 的先后排列的  

    数组第一个单元替换前面查询语句的第一个问号,第二个单元替换第二个问号,以此类推


    查看全部
  • 全局添加更新时间需要在表中新建create_time和update_time字段,配置文件中设置“auto_timestamp"=>true,一般不开启这个功能,否则表中不存在该字段时会报错,真正删除需要把destroy方法或delete方法的第二个参数设置为true

    查看全部
  • 模型获取器的设置  注意格式  get字段属性名Attr  会自动调用

    查看全部
    0 采集 收起 来源:模型获取器

    2019-07-03

  • saveAll 可以批量更新内容

    查看全部
  • saveAll  一次增加多条内容

    查看全部

举报

0/150
提交
取消
课程须知
1、有一定的php基础。 2、对ThinkPHP5 有一定的了解。 3、没有接触过tp5 的学生可以先看下我之前录制的 <快速入门 ThinkPHP5 基础篇>
老师告诉你能学到什么?
1、ThinkPHP5 的数据库操作类 2、ThinkPHP5 的数据模型 3、使用数据模型快速对数据库进行增删改查的操作 4、ThinkPHP5 的自动完成操作 5、模型的自动时间戳和软删除

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!