[ Laravel 5.1 文档 ] Eloquent ORM —— 访问器&修改器

1、简介 访问器和修改器允许你在获取模型属性或设置其值时格式化Eloquent属性。例如,你可能想要使用Laravel加密器对存储在数据库中的数据进行加密,并且在Eloquent模型中访问时自动进行解密。 除了自定义访问器和修改器,Eloquent还可以自动转换日期字段为Carbon实例甚至将文本转换为JSON。 2、访问器 & 修改器 2.1 定义访问器 要定义一个访问器,需要…

[ Laravel 5.1 文档 ] Eloquent ORM —— 集合

1、简介 Eloquent返回的所有多结果集都是Illuminate\Database\Eloquent\Collection对象的实例,包括通过get方法或者通过访问关联关系获取的结果。Eloquent集合对象继承自Laravel的集合基类,因此很自然的继承了很多处理Eloquent模型底层数组的方法。 当然,所有集合也是迭代器,允许你像数组一样对其进行循环: $users = App…

[ Laravel 5.1 文档 ] Eloquent ORM —— 关联关系

1、简介 数据表经常要与其它表做关联,比如一篇博客文章可能有很多评论,或者一个订单会被关联到下单用户,Eloquent使得组织和处理这些关联关系变得简单,并且支持多种不同类型的关联关系: 一对一 一对多 多对多 远层一对多 多态关联 多对多的多态关联 2、定义关联关系 Eloquent关联关系以Eloquent模型类方法的形式被定义。和Eloquent模型本身一样,关联关系也是强大的查询…

[ Laravel 5.1 文档 ] Eloquent ORM —— 起步

1、简介 Laravel自带的Eloquent ORM提供了一个美观、简单的与数据库打交道的ActiveRecord实现,每张数据表都对应一个与该表进行交互的“模型”,模型允许你在表中进行数据查询,以及插入、更新、删除等操作。 在开始之前,确保在config/database.php文件中配置好了数据库连接。更多关于数据库配置的信息,请查看文档。 2、定义模型 作为开始,让我们创建一个E…

[ Laravel 5.1 文档 ] 数据库 —— 填充数据

1、简介 Laravel包含了一个简单方法来填充数据库——使用填充类和测试数据。所有的填充类都位于database/seeds目录。填充类的类名完全由你自定义,但最好还是遵循一定的规则,比如可读性,例如UserTableSeeder等等。安装完Laravel后,会默认提供一个DatabaseSeeder类。从这个类中,你可以使用call方法来运行其他填充类,从而允许你控制填充顺序。 2、…

[ Laravel 5.1 文档 ] 数据库 —— 迁移

1、简介 迁移就像数据库的版本控制,允许团队简单轻松的编辑并共享应用的数据库表结构,迁移通常和Laravel的结构构建器结对从而可以很容易地构建应用的数据库表结构。 Laravel的Schema门面提供了与数据库系统无关的创建和操纵表的支持,在Laravel所支持的所有数据库系统中提供一致的、优雅的、平滑的API。 2、生成迁移 使用Artisan命令make:migration来创建一…

[ Laravel 5.1 文档 ] 数据库 —— 查询构建器

1、简介 数据库查询构建器提供了一个方便的、平滑的接口来创建和运行数据库查询。查询构建器可以用于执行应用中大部分数据库操作,并且能够在支持的所有数据库系统上工作。 注意:Laravel查询构建器使用PDO参数绑定来避免SQL注入攻击,不再需要过滤传递到绑定的字符串。 2、获取结果集 2.1 从一张表中取出所有行 在查询之前,使用DB门面的table方法,table方法为给定表返回一个查询…

[ Laravel 5.1 文档 ] 数据库 —— 起步

1、简介 Laravel让连接多种数据库和运行查询都变得非常简单,不论使用原生SQL、还是查询构建器,还是Eloquent ORM。目前,Laravel支持四种类型的数据库系统: MySQL Postgres SQLite SQL Server 1.1 配置 Laravel让连接数据库和运行查询都变得非常简单。应用的数据库配置位于config/database.php。在该文件中你可以定…

[ Laravel 5.1 文档 ] 架构 —— 门面(Facades)

1、简介 门面为应用的服务容器中的有效类提供了一个“静态”接口。Laravel附带了很多门面,你可能在不知道的情况下正在使用它们。Laravel的门面作为服务容器中的底层类的“静态代理”,相比于传统静态方法,在维护时能够提供更加易于测试、更加灵活的、简明且富有表现力的语法。 2、使用门面 在Laravel应用的上下文中,门面就是一个提供访问容器中对象的类。该机制原理由Facade类实现,…

[ Laravel 5.1 文档 ] 架构 —— 契约(Contracts)

1、简介 Laravel的契约是指框架提供的一系列定义核心服务的接口。比如,Illuminate\Contracts\Queue\Queue契约定义了队列任务需要的方法,Illuminate\Contracts\Mail\Mailer契约定义了发送邮件所需要的方法。 每一个契约都有框架提供的相应实现。比如,Laravel提供了多个驱动的队列实现,邮件实现则由 SwiftMailer驱动。…