首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Laravel 5.3之 Query Builder 源码解析(中)

    开发环境:Laravel5.3 + PHP7 数据库连接器 连接工厂类ConnectionFactory中通过简单工厂方法实例化了MySqlConnection,看下该connection的构造函数:...$config)->connect($config); }; } 闭包里的代码这里还没有执行,是在后续执行SQL语句时调用Connection::select()执行的,之前的Laravel...版本是没有封装在闭包里而是先执行了连接操作,Laravel5.3是封装在了闭包里等着执行SQL语句再连接操作,应该是为了提高效率。...// (new MySqlConnection)->table('users')->where('id', '=', 1)->get(); return DB::table('users')->...,并且wheres[ ]是一个'table'结构,如果有多个where过滤器,就在wheres[ ]中按照'table'结构存储,如[['id', '=', '1'], ['name', '=', 'laravel

    3.7K31

    Laravel 5.3之 Query Builder 源码解析(中)

    版本是没有封装在闭包里而是先执行了连接操作,Laravel5.3是封装在了闭包里等着执行SQL语句再连接操作,应该是为了提高效率。...// (new MySqlConnection)->table('users')->where('id', '=', 1)->get(); return DB::table('users')->...在这里也可看到如果想知道DB::tables('users')->where('id', '=', 1)->get()被编译后的SQL语句是啥,可以这么写:DB::tables('users')->where...版本是没有封装在闭包里而是先执行了连接操作,Laravel5.3是封装在了闭包里等着执行SQL语句再连接操作,应该是为了提高效率。...在这里也可看到如果想知道DB::tables('users')->where('id', '=', 1)->get()被编译后的SQL语句是啥,可以这么写:DB::tables('users')->where

    4K31

    3分钟短文:Laravel 从软删除说到模型作用域的概念

    代码时间 常规的删除操作分两步进行,一步是把数据从数据库中查询出来,使用laravel模型的方法, 则返回的是一个模型对象。第二步,调用模型对象的delete方法。...在laravel中, 这个软删除字段默认是 deleted_at。你也可以在模型中手动指定。...创建 app/Scopes/ActiveScope.php 文件: namespace App\Scopes;use Illuminate\Database\Eloquent\Scope;use Illuminate...public function apply(Builder $builder, Model $model) { return $builder->where('active...写在最后 本文从laravel模型的写操作删除动作,讲到了软删除的概念。进而引申出来本地作用域和全局作用域的使用。软删除几乎贯穿了我们应用的始终,需要大家勤学苦练。

    1.9K30
    领券