首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

laravelEloquent 模型修改器和序列化示例

getFirstNameAttribute($value) { return ucfirst($value); } } 使用 Laravel 加密器 来加密一个被保存在数据库的值,当你从 Eloquent...= [ 'is_admin' = 'boolean', ]; } 现在当你访问 is_admin 属性时,它将会被转换成布尔值,即便保存在数据库里的值是一个整数: $user = App\User...- makeVisible('attribute')- toArray(); return $user- makeHidden('attribute')- toArray(); 添加参数到 json ...= ['is_admin']; } # 在 appends 数组的属性也遵循模型 visible 和 hidden 设置 public function getIsAdminAttribute()...{ return $this- attributes['is_admin'] == 'yes'; } 以上这篇laravelEloquent 模型修改器和序列化示例就是小编分享给大家的全部内容了

89531

Laravel 5.0 之 Eloquent 属性转换

. ---- 之前完全忘了要把这个 Laravel 5 的系列博客写完,不过最近看到了一篇关于属性转换的简介 Laravel 5 Eloquent Attribute Casting is Awesome...属性转换是 Eloquent 模型的一个功能特性,这个特性让我们可以赋予 Eloquent 模型的某个属性转换为一个特定的数据类型。...这个数组变量 $casts 的作用就是告诉 Eloquent:“每次当我访问这个模型的 is_admin 属性的时候,返回一个类型为 boolean 的值给我”。...string 这个很简单,就是把你指定的属性值转为字符串返回,用的是 return (string) $value. boolean(bool) 这是把你指定的属性值转换为布尔值返回,用 return...写在最后 如你所见, Eloquent 属性转换功能把我们从大量不必要的重复逻辑解放出来,并且默默地让我们更容易在数据库存储 JSON 数据。真是好东西!

2.1K80
您找到你想要的搜索结果了吗?
是的
没有找到

Laravel学习笔记(四)——模型,更安全的数据存取

而在Laravel的模型就相当于一个功能完善的数据库Helper类,不需要用户自己写,只要掌握基本用法就能很快速方便的对数据库进行操作,哪怕你一点不懂SQL语句。...看了接下来的Laravel模型的使用之后你就会爱上LaravelEloquent ORM模型,这也是我直接介绍模型而不讲解其他数据库操作的原因。...在第一章就有介绍到,数据库信息保存在项目根目录的 .env 文件,找到相关的数据库信息,进行修改成自己的数据库配置保存即可。...Eloquent ORM LaravelEloquent ORM 提供了漂亮、简洁的 ActiveRecord 实现来和数据库交互。每个数据库表都有一个对应的「模型」用来与该表交互。...$daming->save();// 保存至数据库 drop 获取对象 删除对象 $xiaoming = Student::find(1); $xiaoming->delete(); Eloquent

1.7K00

Laravel学习笔记(四)——模型,更安全的数据存取

而在Laravel的模型就相当于一个功能完善的数据库Helper类,不需要用户自己写,只要掌握基本用法就能很快速方便的对数据库进行操作,哪怕你一点不懂SQL语句。...看了接下来的Laravel模型的使用之后你就会爱上LaravelEloquent ORM模型,这也是我直接介绍模型而不讲解其他数据库操作的原因。...在第一章就有介绍到,数据库信息保存在项目根目录的 .env 文件,找到相关的数据库信息,进行修改成自己的数据库配置保存即可。...Eloquent ORM LaravelEloquent ORM 提供了漂亮、简洁的 ActiveRecord 实现来和数据库交互。每个数据库表都有一个对应的「模型」用来与该表交互。...$daming->save();// 保存至数据库 drop 获取对象 删除对象 $xiaoming = Student::find(1); $xiaoming->delete(); Eloquent

2K00

Laravel 模型关联基础教程详解

Laravel 定义模型关联是每个 Laravel 开发者可能已经做过不止一次的事情。但是在试图实现关联时可能会遇到各种问题。因为 Laravel 有各种各样的关联,你应该选择哪一个?...让我们看看如何在代码定义这种关联。 <?...我们通过 hasOne 方法告诉 Laravel User 模型有一个 Passport 。 注意: 所有用于定义关联的方法都有可选的额外参数,你可以在这些参数定义本地键和外键。...默认情况下,Laravel会假设你在用户模型定义了 passport_id ,因为你试图创建与 passport 模型的关联。创建迁移文件时也请注意这一点!...你可以通过创建迁移文件在 Laravel 创建此中间表。 远程关联 远程一对一 has one through 关联通过单个中间关联模型实现。

5.5K31

Laravel 6.12.0 版本发布,支持从扩展包加载模型工厂

另外,这次更新还包含了很多第三方开发者贡献的、用于优化重复操作的语法糖,例如过滤请求输入字段的非布尔值。...下面我们一起来看下其中比较重要的一些新特性: 1、重要特性 1)从扩展包加载模型工厂 在 Laravel 6.12 ,你可以在扩展包中直接使用已经存在的模型工厂,而不需要重新创建它们,方法是在服务提供者引入对应的包含模型工厂的文件...,然后就可以使用它们了: // 在某个服务提供者......'); 4)请求布尔方法 新增了一个 Request::boolean() 方法用于接受请求输入字段并通过 filter_var 方法来过滤,用来判断某个字段值是否是布尔值,下面是使用示例: $request...TestResponse::dumpSession() 方法 新增 Str::isUuid() 方法 恢复对 PHPUnit 7 的支持 新增 Request::boolean() 方法 新增 Database\Eloquent

74710

Laravel代码简洁之道和性能优化

经过一番调研之后发现了一个堪称神器的扩展:laravel-upsert 这个 Laravel 扩展为查询构建器和 Eloquent 添加了对 INSERT & UPDATE (UPSERT) 和 INSERT...在 Laravel 5.5-5.7 ,这需要HasUpsertQueriestrait: class User extends Model { use \Staudenmeir\LaravelUpsert...->upsert(...); 在 Eloquent ,所有版本的 LumenHasUpsertQueries都需要该特性。...当然了还是有一些注意点和坑,下面分享一下 注意的问题 要根据需求添加唯一索引 根据官方文档的说明,我们的model必须添加这行代码,才能以Eloquent的方式用 use \Staudenmeir\...LaravelUpsert\Eloquent\HasUpsertQueries; 因为我们数据库的时间是int类型,不是laravel默认的时间格式,并且我们的插入时间和更新时间也不是laravel默认的字段

5.7K20

orm 系列 之 Eloquent使用1

Eloquent ORM 本文会是一个Eloquent的使用教程,在此之前,我们先讲述下怎么搭建环境,完整的系列请查看orm 基础环境的搭建 记录下怎么用docker搭建laravel的环境 新建项目composer...create-project --prefer-dist laravel/laravel eloquent 添加laradock cd eloquent;git init;git submodule...于是就可以通过设置Sequel Pro进行连接了,如下图所示 下一步是phpstorm的设置,可以参考文章如何使用PhpStorm實現TDD、重構與偵錯然后再是让如何在PhpStorm活用PHPDoc?...,让phpstorm能自动提示laravel的类。...总结 本文主要是介绍了使用docker来构建laravel的开发环境,同时,我们也介绍了怎么说会用phpstorm来开发laravel,搭建好环境后,主要介绍了Eloquent的Schema Builder

1.7K20

laravel5.6 框架操作数据 Eloquent ORM用法示例

本文实例讲述了laravel5.6 框架操作数据 Eloquent ORM用法。分享给大家供大家参考,具体如下: 建立Users模型 <?...php namespace App\Model\Eloquent\Admin; use Illuminate\Database\Eloquent\Model; class Users extends Model...返回当前时间的时间戳,进入数据库,输出时,可以输出格式化好的时间 protected function getDateFormat() { return time(); } //设置之后,返回的就是数据表的时间戳...$ret=Users::firstOrCreate([ 'name'= 'admin_c', 'age'= 300 ]); //firstOrNew() 以属性查询数据 如果没有 新建实例 如果想保存调用...操作数据查询构建器 更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql

2K30

laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析

本文实例讲述了laravel框架数据库操作、查询构建器、Eloquent ORM操作。...分享给大家供大家参考,具体如下: 1、连接数据库 laravel连接数据库的配置文件位于config/database.php,在其中connection字段包含laravel所支持的数据库的配置信息...Laravel内置的Eloquent ORM提供了一种便捷的方式帮助你组织数据库数据,每张数据表都对应一个与该表进行交互的模型(Model),通过Model类,你可以对数据表进行查询、插入、更新、删除等操作...Eloquent默认会管理数据表的创建时间、更新时间,对应数据表的created_at、updated_at字段,你需要在创建表时包含这两个字段。...//新建实例并赋值、保存 $stu=new Student(); $stu- name='orm2'; $stu- save(); //create方法批量添加数据 Student::create(['

13.3K51

3分钟短文:Laravel slug,让你的url地址更“好记”

[img] 本文就来讲讲,如何在laravel构造友好的url路由。 啥是slug?...使用 composer 安装: composer require cviebrock/eloquent-sluggable:^4.3 模型引入 Slug 功能 引入 eloquent-sluggable...如果你有印象的话,应该会记得laravel模型的find等方法,是基于primary key进行索引,以便加快查询速度。拿到模型的ID,查询该条目数据,然后返回模型实例。...当然了,如果没有使用路由参数绑定,eloquent-sluggable类库也为我们提供了友好的trait,在模型文件内直接引入就好了: use Cviebrock\EloquentSluggable\Sluggable...findBySlugOrFail('laravel-hacking-and-coffee'); 归根结底,就是使用slug字段记录查询的字符串,而slug字段在对应关系定义为 source => ‘name

3.5K11

Laravel 5 系列入门教程(一)【最适合中国人的 Laravel 教程】

镜像配置完成后,切换到你想要放置该网站的目录下( C:\\wwwroot、/Library/WebServer/Documents/、/var/www/html、/etc/nginx/html 等),...模型 Models 接下来我们将接触Laravel最为强大的部分,Eloquent ORM,真正提高生产力的地方,借用库克的一句话:鹅妹子英!...Eloquent 提供的 Model 类 `Illuminate\Database\Eloquent\Model`,且都在 `\App` 命名空间下。...Model 即为 MVC 的 M,翻译为 模型,负责跟数据库交互。在 Eloquent ,数据库每一张表对应着一个 Model 类(当然也可以对应多个)。...如果你想深入地了解 Eloquent,可以阅读系列文章:深入理解 Laravel Eloquent(一)——基本概念及用法 ---- 接下来进行 Article 和 Page 类对应的 articles

3.4K20

你可能会踩到的一个 Eloquent 小坑

今天在写一个模型版本控制的需求,目标就是模型有字段变化时创建版本记录,首先想到的肯定是用我之前写过的一个包:overtrue/laravel-versionable,原理很简单: 监听模型事件,当检测到属性值变化时...,选择已快照或者差异化获取变化的内容,存储到一个版本记录表当中 Eloquent 模型事件 模型事件相信大家都非常熟练了,一句话介绍就是:当模型有各种变化时,Laravel 会触发对应的事件通知,目前支持的事件有...所以有了事件通知就可以做很多事情了,我的这个包做了一个功能,模型可以自己动态决定是否要为当前变更创建版本,只需要在模型里重载一个方法返回布尔值即可: public function shouldVersioning

48420

Laravel 数据库连接配置和读写分离

今天开始讲如何在 Laravel 操作数据库,Laravel 为我们提供了多种工具实现对数据库的增删改查,在我们使用 Laravel 提供的这些数据库工具之前,首先要连接到数据库。...默认情况下,我们在通过 Laravel 提供的数据库工具(DB 门面、查询构建器、Eloquent模型)连接数据库的时候,都没有显式指定连接,因为我们在配置文件中指定了默认的连接 mysql。...->get(); DB::connection('mysql_old')->table('users')->insert(...); 如果你使用的 Eloquent 模型类,可以在对应模型类设置 $...随着应用访问量的增长,对数据库进行读写分离可以有效的提升应用整体性能,关于数据库层面的读写分离配置不属于本教程讨论范畴,我们这里只讨论从应用层面如何在 Laravel 项目中配置读写分离连接。...所以在 Laravel 实现读写分离还是很方便的,我们只需要做好配置就好了,剩下的框架帮我们完成。

5.2K20
领券