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

Laravel系列4.3】模型Eloquent ORM使用(一)

创建一个模型 创建模型我们可以手动,也可以通过命令行,既然是学习框架,那么我们还是通过命令行来创建一个模型类吧。使用表依然是之前表,不过还是改下名字吧,这回表名就叫做 m_test 。...对于 Laravel 中标准 Eloquent 模型类来说,每个表都应该有两个字段,一个是 updated_at ,另一个是 created_at ,分别是两个时间戳字段,用于记录数据创建时间修改时间...这样做原因也正是为了保持数据一致性完整性。 当然,在 Laravel 中,可以不在数据库层面进行严格设置,就可以在框架代码中实现主外键关联。...db_sex 表模型,这个表是上篇文章中测试时使用,就直接拿来使用了。...总结 今天,我们学习内容是 ORM 概念以及基础模型使用,另外还加了一个关联功能源码分析。

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

Laravel系列4.4】模型Eloquent ORM使用(二)

模型Eloquent ORM使用(二) 对于模型探索我们还将继续。上篇文章中,只是简单地通过模型操作了一下数据库,并且学习了一下关联操作知识。...而我们在日常操作中,其实最习惯使用数组那种形式操作,除开我们后面会讲直接从配置入手来修改 PDO FETCH 属性之外,我们还可以用上面这个 map() 函数配合模型对象 attributesToArray...因为 toArray() attributesToArray() 都是我们之前用过,但是要注意是,它们两个是不同概念。...toArray() 方法是一个递归方法,它会将所有的属性关联(包括关联关联)都转化成数组。而 attributesToArray() 只会将当前模型属性转化为数组。...在所有模型都要继承 laravel/framework/src/Illuminate/Database/Eloquent/Model.php 类中,我们很快就能发现一个 query() 静态方法。

2.8K20

Laravel 模型事件应用

Laravel模型事件中处理起来很方便:https://laravel-china.org/docs/laravel/5.5/eloquent#events Laravel 模型事件有两种方式,...设置dispatchesEvents属性映射事件类 使用观察器来注册事件,这里介绍第二种 新建模型 php artisan make:model Log <?...) LogBaseServer 新建一个观察器继承基类LogBaseServer(User模型,方法名字要对应文档中事件) LogBaseServer 到新建服务提供者...ObserverLogServiceProvider中运行 ObserverLogServiceProvider 为需要模型注册事件(我这挺多,之后大概长这样) 模型注册事件...然后我们触发一些事件(增删改,表数据就有了) 事件 多对多关联插入不会出触发模型(比如attach方法) 这时候就需要自己新建事件类来模拟(这里拿分配权限给角色粗略说一下) 在EventServiceProvider

17210

Laravel框架视图模型操作方法分析

本文实例讲述了Laravel框架视图模型操作方法。分享给大家供大家参考,具体如下: 视图 简介:视图包含了应用程序渲染HTML数据,并将应用程序显示逻辑与控制逻辑有效分离开。...if(view()- exits('xxxx.xxx')); 视图数据 向视图传递数据 采用此方法传递数据,可以使用键/值获得对应数据,如 模型 简介:即MVC模式中Model,目录名为app根目录...使用命名空间: use Illuminate\Database\Eloquent\Model 必须声明为静态方法,不然会报错 <?...相关内容感兴趣读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总...》 希望本文所述对大家基于Laravel框架PHP程序设计有所帮助。

1.3K21

Laravel基本使用

[Laravel] Laravel基本HTTP路由 使用Laravel基本路由,实现get请求响应,找到文件app/Http/routes.php 调用Route静态方法get(),实现get响应...(),参数:路径,匿名函数 路径,大括号包裹参数名,不含$,例如:’/user/{id}’ 匿名函数,接收参数,例如:function($id){} [Laravel] Laraval基本控制器 在app...,例如:Route::get("/index","Index\IndexController@index");, 注意命名空间部分,新建控制器是在根命名空间下面,指定时候添加自己新加命名空间 [Laravel...] Laravel基本视图 在目录resources/views/下面,创建index/index.php 在控制器中使用函数view()来调用模板,参数:文件路径(.分隔目录),数据 路由:routes.php...$id; }); /*使用控制器*/ Route::get("/index","Index\IndexController@index"); /* |--------------------------

1.3K30

在 PHP Laravel使用 Traits方法

在 PHP 5.4 中 一个新语言特性被添加进来,这就是众所周知 Traits,它在 Laravel 框架中被广泛使用。...Trait 语义组合与类定义在某种程度上减少了代码复杂度,避免了与多继承 Mixins 相关一些典型问题。 Trait 与类非常相似,但它目的仅仅是用更好、一致方式汇聚一些方法。...那么,怎样在laravel使用traits呢首先我在项目的 Http 目录下创建一个Traits文件夹,并且新建了一个名叫 BrandsTrait.php Trait文件 使用它就像这样: use...$brands = Brand::all(); return $brands; } } 甚至, 如果您在模型中找到另一种与产品品牌相互作用有关通用方法,那么将代码写在该 trait...总结 以上所述是小编给大家介绍在 PHP Laravel使用 Traits方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

1.2K21

分享8个Laravel模型时间戳使用技巧小结

默认情况下,Laravel Eloquent 模型默认数据表有 created_at updated_at 两个字段。当然,我们可以做很多自定义配置,实现很多有趣功能。下面举例说明。 1....其他属性方法 } 2. 修改时间戳默认列表 假如当前使用是非 Laravel 类型数据库,也就是你时间戳列命名方式与此不同该怎么办?...并且 Laravel 不会尝试自动填充 created_at/updated_at 但是如果你想自动保存时间戳,您需要在迁移文件中添加 created_at/updated_at,然后在模型关联中加上...使用 latest() oldest() 进行时间戳排序 使用时间戳排序有两个 “快捷方法”。...所以,不建议下面这种写法: $user- update(['updated_at' = now()]); 您可以使用更快捷方法: $user- touch(); 另一种情况,有时候您不仅希望更新当前模型

3.7K31

通过 Laravel Eloquent 模型实现批量赋值软删除

在上一篇教程中,我们基于 Eloquent 模型实现了对数据表记录增删改查操作,今天我们在此基础上介绍两个 Eloquent 模型提供高级功能 —— 批量赋值软删除。...content' => '测试文章内容' ]); 仅这么看的话,好像跟之前写法没有什么大优势,还是需要指定每个属性,但是这为我们提供了一个很好基础,如果用户请求数据结合起来使用,就能焕发它光彩了...而对于相对稳定或者字段很多数据表,建议使用黑名单,免去设置字段之苦,但是对于这样模型类,每次修改数据表结构时候都要记得维护这个黑名单,看看是否需要变动。...更新模型 如果是更新模型类,也可以通过批量赋值方式实现,只需在获取模型类后使用 fill 方法批量填充属性即可: $post = Post::findOrFail(11); $post->fill($...实现原理 Eloquent 模型类为我们提供了「软删除」功能支持。这就意味着,在 Laravel 中,我们不需要编写任何额外代码就可以实现对数据库记录「软删除」。

2.3K10

Laravel源码解析之路由使用示例详解

前言 我解析文章并非深层次多领域解析攻略。但是参考着开发文档看此类文章会让你在日常开发中更上一层楼。 废话不多说,我们开始本章讲解。...入口 Laravel启动后,会先加载服务提供者、中间件等组件,在查找路由之前因为我们使用是门面,所以先要查到Route实体类。...注册 第一步当然还是通过服务提供者,因为这是laravel启动关键,在 RouteServiceProvider 内加载路由文件。...else { $router = $this; require $routes; } } 随后通过路由找到指定方法,依旧是 Illuminate\Routing\Router 内有你所使用所有路由相关方法...,下面将通过url访问指定方法,一般控制器都会继承父类 Illuminate\Routing\Controller ,laravel为其设置了别名 BaseController public function

74200

Laravel源码解析之路由使用示例详解

前言 我解析文章并非深层次多领域解析攻略。但是参考着开发文档看此类文章会让你在日常开发中更上一层楼。 废话不多说,我们开始本章讲解。...入口 Laravel启动后,会先加载服务提供者、中间件等组件,在查找路由之前因为我们使用是门面,所以先要查到Route实体类。...注册 第一步当然还是通过服务提供者,因为这是laravel启动关键,在 RouteServiceProvider 内加载路由文件。...); } else { $router = $this; require $routes; } } 随后通过路由找到指定方法,依旧是 IlluminateRoutingRouter 内有你所使用所有路由相关方法...,下面将通过url访问指定方法,一般控制器都会继承父类 IlluminateRoutingController ,laravel为其设置了别名 BaseControlle public function

88020
领券