首页
学习
活动
专区
圈层
工具
发布

orm 系列 之 Eloquent演化历程2

,所以讲的错误的地方,恳请大牛们能不吝赐教;或者如果有什么地方是没看懂的,也请提出来,因为可能那地方就是我自己没看懂,所以没讲明白,你提出后我们就可以一起讨论,让我们能共同的进步的。...php namespace App; use Illuminate\Database\Eloquent\Model; class Comment extends Model { /**...*版本的时候,laravel/framework还采用的psr-0规范,所有其目录层级还是src/Illuminate/Database,在这个版本中有个新的目录Capsule,其下面是一个Manager...接着我们看第二个Making a Model,使用上非常简单: //User Model use Illuminate\Database\Eloquent\Model as Eloquent class...参考 [ Laravel 5.3 文档 ] Eloquent ORM —— 关联关系

3.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    跟我一起学Laravel-EloquentORM高级部分

    软删除功能实际上就是利用了全局作用域功能 实现一个全局作用域功能只需要定义一个实现Illuminate\Database\Eloquent\Scope接口的类,该接口只有一个方法apply,在该方法中增加查询需要的约束...php namespace App\Scopes; use Illuminate\Database\Eloquent\Scope; use Illuminate\Database\Eloquent\...* * @param \Illuminate\Database\Eloquent\Builder $builder * @param \Illuminate\Database...return $user->makeVisible('attribute')->toArray(); 为json追加值 有时需要在json中追加一些数据库中不存在的字段,使用下列方法,现在模型中增加一个...Mutators 在Eloquent模型中,Accessor和Mutator可以用来对模型的属性进行处理,比如我们希望存储到表中的密码字段要经过加密才行,我们可以使用Laravel的加密工具自动的对它进行加密

    1.7K40

    竟然有人质疑我还在用Laravel开发?别忘了PHP是最好的语言。(2)模型工厂类

    组件,Tailwind 分页视图, 时间测试助手,artisan serve 的改进,事件监听器的改进,以及各种其他错误修复和可用性改进,对 Laravel 7.x 继续进行了改善。...如果该目录不存在,则框架将假定你的模型应放置在 app 目录。 模型工厂类 模型工厂类由泰勒・奥特威尔(Taylor Otwell)贡献。...Eloquent 模型工厂 已完全重写为基于类的工厂,并有完美的关联支持。例如 Laravel 中的 UserFactory 是这样写的: <?...php namespace Database\Factories; use App\Models\User; use Illuminate\Database\Eloquent\Factories\Factory.../** * 表示这个用户处于禁止状态 * * @return \Illuminate\Database\Eloquent\Factories\Factory */ public function

    3.6K41

    orm 系列 之 Eloquent使用2

    本文会按照下面的顺序介绍: Model的创建 CRUD操作 查询和聚合操作 Hydrate 组合查询 Model创建 在laravel中,创建一个model非常简单,我们可以通过下面的命令创建 php...$book->id; } ); 我们通过save就可以完成insert操作,此处有几个tricky方法,首先是我们的Model中不存在title这些字段,那是怎么设置的呢?...,返回一些数据: >>> App\Book::all() => Illuminate\Database\Eloquent\Collection {#711 all: [ App\...,我们不做过多的介绍,我们此处来看下,all方法的执行,all在Model中是不存在的,那怎么调用的呢?...查询和聚合 Eloquent提供了丰富的查询方式,通过前面的__call方法分析,我们知道,这些最终调用的都是Eloquent/Builder方法,where方法也不例外,where其最简单的形式如下:

    83241

    竟然有人质疑我还在用Laravel开发?别忘了PHP是最好的语言。

    组件,Tailwind 分页视图, 时间测试助手,artisan serve 的改进,事件监听器的改进,以及各种其他错误修复和可用性改进,对 Laravel 7.x 继续进行了改善。...如果该目录不存在,则框架将假定你的模型应放置在 app 目录。 模型工厂类 模型工厂类由泰勒・奥特威尔(Taylor Otwell)贡献。...Eloquent 模型工厂 已完全重写为基于类的工厂,并有完美的关联支持。例如 Laravel 中的 UserFactory 是这样写的: <?...php namespace Database\Factories; use App\Models\User; use Illuminate\Database\Eloquent\Factories\Factory.../** * 表示这个用户处于禁止状态 * * @return \Illuminate\Database\Eloquent\Factories\Factory */ public function

    3.3K60

    3分钟短文 | Laravel原来有2种集合Collection,怪不得老用不对!

    而集合 Illuminate\Database\Eloquent\Collection 则是通过 eloquent 方法返回数据时创建的,这很有区别。...因为 Illuminate\Database\Eloquent\Collection 是从 Illuminate\Support\Collection 继承过来的,理所当然,拥有基类所没有的许多特性,比如...还有一些是没重写了的方法,比如 contains ,unique 。 这些细微的差别,在编程时需要避免,防止出现 method 不存在的故障。比如下图: ?...因为类 Illuminate\Support\Collection 并没有 find 方法,必然导致错误。find 是在模型中才能调用的集合的方法。...由于 Illuminate\Database\Eloquent\Collection 和 Illuminate\Support\Collection 之间的关系,我们可以在函数返回值上显式声明返回类型。

    59110

    3分钟短文:Laravel模型集合跟基类真不一样,别混为一谈

    引言 laravel在功能拆分上相当灵活,其中查询返回的数据集,虽然继承了基类集合, 但是有一些特定的方法和用法。很多小白在写的时候,往往分不清到底是用的哪个类的哪个方法,导致凭空报错。...代码时间 laravel系统的基类就是 Illuminate\Support\Collection,同时提供了一个快捷助手函数collect 用于实例化一个集合类。...虽然eloquent collection继承了基类Collection的特性,但是对于模型类的特性 有许多独特的方法。比如 modelKeys() 返回所有集合模型的primary key。...use Illuminate\Database\Eloquent\Collection;class OrderCollection extends Collection{ public function...写在最后 本文展示了eloquent collection对象的相关操作和方法,大家注意区别于常规的集合类。 Happy coding :-)

    1.3K40
    领券