zoukankan      html  css  js  c++  java
  • TP5 模型类和Db类的使用区别

     原文:http://www.upwqy.com/details/3.html

    总结  

    在控制器中  模型操作

     get() 和 all()  只能单独使用来查询数据  

    想要链式操作查询数据 需要使用find() 和select()   这里返回的都是对象集 

    2017-12-04 

        

     另外补充一点,很多人都问 是使用db类还是model 类。

        这个其实没有明确的限定。tp5官网推荐使用model。

        我接触了tp5也将近一年了。大多时间使用的还是model类 ,tp5提供的很多方法都是需要model类 来使用的,比如with 模型关联,获取器 等等 比较方便的方法,

        而Db类 则针对于 使用比较单一的地方,。比如 获取配置表中的数据 ,不需要复杂的功能 只是单纯的查询数据,相对于来说使用db类比较好。不需要新建模型文件,直接查询即可。

        还有就是关于DB和model的使用 速度的问题.Db是直接操作sql语句 速度肯定是比model快  但是 相对于model提供的各种方便的功能来说,牺牲一点运行速度是值得的,   而且 使用model带来的速度影响是在接受范围内的

    更新时间 2017-07-22

    准备工作 创建User控制器 User模型  User数据表 

    在User控制器中

    use appconsolemodelUser as UserModel;
    $user = UserModel::all();
    dump($user);
    exit();
    
    这里会输出数据对象集 表示可用 
    
    $user = UserModel::select();
    dump($user);
    exit();
    
    输出的也是数据对象集 
    
    $user = UserModel::get();
    dump($user);
    exit();
    这里返回到是ID为1用户 
    尝试把ID为1的用户删除掉 返回的是ID为2的数据 
    
    所以这里直接使用get()不带参数  会返回一个根据ID正序排列的第一个数据对象 
    
    $user = UserModel::find();
    dump($user);
    exit();
    
    使用find()  和使用 get() 是一样的用法 单纯使用时 
    
    $user = UserModel::where('id',5)->get();
    dump($user);
    exit();
    
    这里会报错
    [ error ] method not exist:thinkdbQuery->get
    
    $user = UserModel::where('id',5)->find();
    dump($user);
    exit();
    
    返回用户ID为5的对象  如果查找的用户数据不存在会返回null 
    
    $user = UserModel::where('id',5)->select();
    dump($user);
    exit();
    
    返回对象集 
    
    $user = UserModel::where('id',5)->all();
    dump($user);
    exit();
    报错 method not exist:thinkdbQuery->all
    

    2017-07-18

    假如有个Order模型  ,在尝试使用时有以下结果

    使用 self::get();  

    获取数据时正确的
    self::with('user')->get()
    这里会提示 method not exist:thinkdbQuery->get

    只有单独get 时才会是正确的 ,不能够加入其他语句条件
  • 相关阅读:
    Java核心API需要掌握的程度
    JAVA开发者最常去的20个英文网站
    Java .class files decompile tools
    让aptget到网络上查找源,避免经常插入光盘
    Google Job : Research Engineer Beijing
    教你亚健康该如何饮食
    tcpdump w 和 r 的使用
    黑客发布iOS 4.1永久越狱程序 狼人:
    微软将迎来迄今最大补丁日 一次修补49个漏洞 狼人:
    百度瞄准客户端 迅雷、360、腾讯皆是目标 狼人:
  • 原文地址:https://www.cnblogs.com/wqy415/p/7198608.html
Copyright © 2011-2022 走看看