• thinksns+(plus)简单小结


    1、withTrashed()

    除了真实删除数据库记录, Eloquent 也可以「软删除」模型。软删除的模型并不是真的从数据库中删除了。事实上,是在模型上设置了 deleted_at 属性并将其值写入数据库。如果 deleted_at 值非空,代表这个模型已被软删除。如果要开启模型软删除功能,你需要在模型上使用 IlluminateDatabaseEloquentSoftDeletes trait。

    软删除模型将会自动从查询结果中排除,不过,如果你想要软删除模型出现在查询结果中,可以使用 withTrashed 方法。

    2、declare(strict_types=1)

    strict_types=1 及开启严格模式,默认是弱类型校验,php7引入的严格类型检查模式的指定语法。

    3、orm中with的用法

    从同一个接口返回分类和属于该分类的商品。面对这样的一个需求,可以写出如下的代码:

    public function category($categoryId)
    {
      $category = Category::with('goods')->find($categoryId);
      return $category;
    }
    这里的with方法会将分类之下的商品一起查询出来,而且不会出现N+1影响性能的问题。在实际项目中,我们往往不是把全部商品查询出来,比如我们要把分类下面上架的商品查询出来,采用闭包函数的方法:

    public function category($categoryId)
    {
      $category = Category::with(['goods' => function ($query) {
        $query->where('is_sale', true);
      }])->find($categoryId);
      return $category;
    }
    这里的with方法可以理解为给分类下面的商品一个条件,符合该$query->where('is_sale', true);就查询出来。

  • 相关阅读:
    doT.js——前端javascript模板引擎问题备忘录
    (转)regex类(个人理解)
    ajax提交表单、ajax实现文件上传
    SQL添加表字段
    Elasticsearch使用总结
    有一张表里面有上百万的数据,在做查询的时候,如何优化?从数据库端,java端和查询语句上回答
    sql语句的字段转成Date
    Mybatis 示例之 foreach
    Eclipse不编译解决方案
    Java使用RSA加密解密及签名校验
  • 原文地址:https://www.cnblogs.com/hjcan/p/12034722.html
Copyright © 2020-2023  润新知