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

3分钟短文 | Laravel模型获取最后一条插入记录ID编号

代码比较简单,知识将 request input 内容复制给 Company 模型属性,然后调用 save 方法将数据存入。 那么,如果想要获取存入后数据条目的ID,如何返回呢?...其实,save 方法本身就是链式调用,会返回当前 Company 模型对象。...返回是当前写入条目的ID。...但是,如果是并发系统,或者在流程处理中,没有使用 Company 模型进行数据操作,而是 DB::statement,DB::insert 这些,获取,可就不是最后ID了。...兼容写法,需要考虑多用户并发操作,以及数据更新源不同情况。那么需要使用独立方式: DB::getPdo()->lastInsertId(); 这样就可以了,基本上不会出错。

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

laravel 解决Eloquent ORMsave方法无法插入数据问题

学习laravel中: 今天在测试使用Eloquent ORM将数据使用 save()方法插入到mysql中时,出现了错误,如图所示: ?...在网上查阅资料后找到了原因: 使用save方法新增数据: laravel会默认维护 created_at , updated_at 两个字段,这两个字段都是存储时间戳,整型11位,因此使用时需要在数据库添加这两个字段...修改后错误消失,正常输出: 控制器中函数代码如下: //使用表模型新增数据 public function orm2(){ $stu = new Student(); //表模型实例化 $stu...- name='小黑'; //给模型属性赋值 $stu- password='222333'; $flag = $stu- save(); //save方法插入数据,返回插入是否成功boolean...值 var_dump($flag); //打印$flag内容 } 以上这篇laravel 解决Eloquent ORMsave方法无法插入数据问题就是小编分享给大家全部内容了,希望能给大家一个参考

1.7K31

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

模型Eloquent ORM使用(二) 对于模型探索我们还将继续。上篇文章中,只是简单地通过模型操作了一下数据库,并且学习了一下关联操作知识。...今天,我们继续学习模型中别的一些好玩东西,不过,我们不会继续深入地学习模型中别的相关技巧。...集合操作 其实这个集合操作并不是模型特有的,还记得在 查询构造器 中,我们查询列表时候,总会在最后加一个 toArray() 吗?...在所有模型都要继承 laravel/framework/src/Illuminate/Database/Eloquent/Model.php 类中,我们很快就能发现一个 query() 静态方法。...参考文档: https://learnku.com/docs/laravel/8.x/eloquent/9406

2.8K20

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

对于 Laravel 中标准 Eloquent 模型类来说,每个表都应该有两个字段,一个是 updated_at ,另一个是 created_at ,分别是两个时间戳字段,用于记录数据创建时间和修改时间...最后整理下上面的调用链条,首先,我们生成定义 MTest 是继承自 laravel/framework/src/Illuminate/Database/Eloquent/Model.php 这个抽象类...其实这段代码已经很清楚明了了,如果没有 key 就返回一个空内容,如果 key 存在于当前这个模型相关属性中,则调用一些处理方法后返回。...gender() 方法获得返回结果,也就是获取上面的 BelongsTo() 对象。...下篇文章我们还将继续进行模型学习以及整个模型源码分析。 参考文档: https://learnku.com/docs/laravel/8.x/eloquent/9406

8.8K20

基于独立 Laravel Eloquent 组件编写 ORM 模型

这里,我们选择使用更加简单 Active Record 模式来实现 ORM 模型类,并且为了简化流程,我们直接基于 Laravel 框架 Eloquent ORM 组件来编写,就不再重复造轮子了。...下载 Eloquent ORM 相关扩展包 Eloquent ORM 作为 Laravel 框架自带 ORM 实现,还可以在 Laravel 框架之外作为独立 ORM 组件使用。...Eloquent 提供模型事件功能,还可以下载 Laravel 提供独立事件扩展包: composer require illuminate/events 上述扩展包下载完成后,就可以在博客项目根目录下...模型类全局可用(为了编写 Eloquent 模型类,如果只是使用 Laravel 提供数据库查询构建器功能,则不需要这些操作)。...$album = $post['album']; ... } } 这里模型类方法和关联查询都可以在 Eloquent 官方文档查询到,这里不详细介绍了,需要注意是,我们之前在视图模板中都是通过关联数组获取数据库查询结果

1.9K10

Laravel Eloquent分表方法并使用模型关联实现

众所周知 Laravel 是 PHP 开发项目最优美的框架之一,尤其是 Eloquent 对数据库操作提供了特别多便利。...在实际开发中我们经常涉及到分库分表场景,那么怎样才能继续配合 Eloquent 优雅使用 Model 模型呢,接下来给大家分享下我在实际开发中所遇到问题。...2、表建好后开始创建 model 模型,按照惯例所有的模型都将写在 App\Models 下;首先我们先创建一个类名为 Model 模型并继承 Illuminate\Database\Eloquent...Model 而不是继承 Illuminate\Database\Eloquent\Model,获取某本书章节 controller <?...第一次发表文章,如有不对地方希望大家多多指教!!也希望大家多多支持ZaLou.Cn。

2.2K42

Laravel 实现Eloquent模型分组查询并返回每个分组数量 groupBy()

Laravel 5.5 Linux mint 18 PHPStorm 最近刚玩Laravel,手册源码还没来得及看完就跃跃欲试做了个小项目,其中有个需求是分组查询数据库中一个字段并返回每个分组中数量...having 方法用法和 where 方法类似: $users = DB::table('users') - groupBy('account_id') - having('account_id...这时可使用 select 方法自定义一个 select 子句来查询指定字段: $users = DB::table('users')- select('name', 'email as user_email...参考: Laravel Eloquent groupBy() AND also return count of each group 以上这篇Laravel 实现Eloquent模型分组查询并返回每个分组数量...groupBy()就是小编分享给大家全部内容了,希望能给大家一个参考。

4.2K51

Laravel Eloquent 模型关联关系(下)

在前面两篇教程中,学院君陆续给大家介绍了 Eloquent 模型类支持七种关联关系,通过底层提供关联方法,我们可以快速实现模型关联,并且进行关联查询。...,如果返回文章结果是列表的话,需要遍历获取作者信息,假设要循环 N 次的话,加上文章模型本身获取,总共需要进行 N + 1 次查询,而 PHP 对数据库连接是短连接,每次都要重新连接数据库,所以从性能角度考虑不建议使用这种方式...,通过 IN 查询获取关联结果,并将其附着到对应模型实例上,在后面访问时候不会再对数据库进行查询。...>orderBy('created_at', 'desc'); }]); 关联插入与更新 一对多关联记录插入 新增关联模型时候,可以在父模型上调用相应方法直接插入记录到数据库,这样做好处是不需要指定关联模型与父模型外键关联字段值...还可以通过 saveMany 方法一次插入多条关联记录,前提是为关联模型配置了批量赋值,比如我们为 Comment 模型类配置白名单 $fillable 属性如下(你也可以不配置批量赋值,但是需要多次实例化并逐个设置评论模型属性值

19.5K30

orm 系列 之 Eloquent演化历程2

功能,主要是对数据库表操作sql建模 此处Connectors是之前没有介绍过,Connectors是在f917efa中第一次加入,我们看下到底做了什么,其目录结构是: src/Illuminate...来实现,最终是通过将执行记录以log形式插入到数据库中。...本文最后讲下Eloquent中新增对象之间关系:多态关系,以下内容摘自[ Laravel 5.3 文档 ] Eloquent ORM —— 关联关系 表结构 多态关联允许一个模型在单个关联下属于多个不同模型...User extends Eloquent { // } 此处Eloquent已经通过初始化设置了静态变量$resolver,我们可以方便获取连接Connection了,也就是有了数据库操作功能...Schema和Query,同时DatabaseManger和Eloquent还处理协作关系,Eloquent负责领域类打理,最后ConnectionFactory则打点着所有的Connection,提供基础功能

2.4K30

通过 Laravel Eloquent 模型实现简单增删改查操作

「ActiveRecord」是 ORM 一种实现模式,Eloquent 则是 Laravel「ActiveRecord」。...一个 Eloquent 模型类映射一张数据表,通过模型类提供方法,你可以获取其映射数据表所有记录,也可以获取单条记录,还可以创建、更新和删除对应数据表记录,而这一切都不需要你编写任何 SQL 语句...插入数据 通过 Eloquent 模型插入记录到数据库也比较简单: $post = new App\Post; $post->title = '测试文章标题'; $post->content = '测试文章内容...我们先要创建一个新 Post 模型实例,然后依次设置需要设置字段,最后调用 save 方法保存即可。...$post->delete(); 这样,就完成了 id = 31 对应数据表记录删除,你还可以通过 Eloquent 提供 destroy 方法一次删除多条记录,通过数组传递多个主键 ID 即可

7.9K20

Laravel 6.11 版本发布,优化了 Redis 多频道广播逻辑

Laravel 官方开发组本周发布了 Laravel 6.11.0 版本,新版本在 Eloquent 模型查询时新增 firstWhere 方法,优化了基于 Redis 多频道广播,以及一些现有版本问题修复...1、新增功能 Eloquent firstWhere() 方法 Eloquent 模型现在支持调用 firstWhere 方法,它功效和 where()->first() 一样,算是一个语法糖: /...优化 Redis 多频道广播 在 Laravel 应用中,一次发送事件到多个频道很常见,目前,我们做法是通过多个发布命令发送完全一样负载数据到指定 Redis 服务器,这将导致不必要数据传输,从而带来通信及性能损耗...所以,最新版本 Laravel 优化了这个问题,在 RedisBroadcaster 中添加一段 Lua 脚本,允许一次广播数据到多个频道: 2、更新日志 接下来,我们来大致看一下此次版本更新详细日志...:makeFaker() 中未定义属性 修复 Str::afterLast() 方法 修复 PHP 7.3 插入浮点类型到 MySQL 数据库问题 修复通过自定义中间表属性名刷新模型问题 代码调整 在

1.4K10

laravel 模型Eloquent ORM 查询

up前面玩了 DB 查询,但是laravel开发基本不怎么使用db方式查询,应该有更强大 模型 Model 介绍 Laravel Eloquent ORM 提供了一个漂亮、简洁 ActiveRecord...每个数据库表都有一个对应模型」用来与该表交互。你可以通过模型查询数据表中数据,以及在数据表中插入新记录。 在开始之前,请确保在 config/database.php 中配置数据库连接。...laravel Model 使用先进 Eloquent ORM 但也有优缺点 优点是数据库操作变简单安全 缺点也明显数据库操作变缓慢笨重 Eloquent ORM 作为 laravel 中亮点...但是却报错了我们看到model生成sql 莫名其妙拼接了一个 s 这里我百度了一下 artisan 生成model 若没有特别指定,laravel系统会默认自动对应名称为「Eloquent类名称小写复数形态...// } 以后模型不要直接由 Eloquent 派生,改为由 BaseModel 派生,就不用特殊指定表名,表名与模型名称直接一致,也不再驼峰呀什么了。

4.4K10

Laravel5.7 Eloquent ORM快速入门详解

简介 Laravel 内置 Eloquent ORM 提供了一个美观、简单与数据库打交道 ActiveRecord 实现,每张数据表都对应一个与该表进行交互模型(Model),通过模型类,你可以对数据表进行查询...时间戳 默认情况下,Eloquent 期望 created_at 和 updated_at 已经存在于数据表中,如果你不想要这些 Laravel 自动管理数据列,在模型类中设置 $timestamps...chunk 方法会获取一个指定数量 Eloquent 模型“组块”,并将其填充到给定闭包进行处理。...', 1)- max('price'); 插入/更新模型 插入 想要在数据库中插入记录,只需创建一个新模型实例,设置模型属性,然后调用 save 方法: <?...批量赋值 还可以使用 create 方法保存一个新模型。该方法返回被插入模型实例。

15K41

Laravel 模型关联基础教程详解

Laravel 中定义模型关联是每个 Laravel 开发者可能已经做过不止一次事情。但是在试图实现关联时可能会遇到各种问题。因为 Laravel 有各种各样关联,你应该选择哪一个?...当涉及到查询模型时,我们如何充分利用模型关联功能? Laravel 模型关联可能会让人糊涂。...如果每个供应商都有一个用户,并且每个用户与一个用户历史记录相关联,那么供应商可以通过用户访问用户历史记录。...此属性表示中间表,可以像任何其他模型一样使用。 举个例子,假设连接表有 created_at 字段,我们就可以使用 pivot 来获取 created_at 字段。 <?...Laravel模型关联有更好理解。

5.5K31

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

前言 如果你是一个从没用接触过框架新手,你在进行数据库操作时候可能会创建数据库链接,然后进行数据操作,最后关闭数据库连接。...看了接下来Laravel模型使用之后你就会爱上LaravelEloquent ORM模型,这也是我直接介绍模型而不讲解其他数据库操作原因。...在第一章就有介绍到,数据库信息保存在项目根目录 .env 文件中,找到相关数据库信息,进行修改成自己数据库配置保存即可。...Eloquent ORM Laravel Eloquent ORM 提供了漂亮、简洁 ActiveRecord 实现来和数据库交互。每个数据库表都有一个对应模型」用来与该表交互。...如果你不需要这两个字段,则需要在模型内将 $timestamps 属性设置为 false 模型获取 要对数据进行操作第一步是获取操作对象。

1.7K00

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

前言 如果你是一个从没用接触过框架新手,你在进行数据库操作时候可能会创建数据库链接,然后进行数据操作,最后关闭数据库连接。...看了接下来Laravel模型使用之后你就会爱上LaravelEloquent ORM模型,这也是我直接介绍模型而不讲解其他数据库操作原因。...在第一章就有介绍到,数据库信息保存在项目根目录 .env 文件中,找到相关数据库信息,进行修改成自己数据库配置保存即可。...Eloquent ORM Laravel Eloquent ORM 提供了漂亮、简洁 ActiveRecord 实现来和数据库交互。每个数据库表都有一个对应模型」用来与该表交互。...如果你不需要这两个字段,则需要在模型内将 $timestamps 属性设置为 false 模型获取 要对数据进行操作第一步是获取操作对象。

2K00

Laravel学习记录--Model

Laravel 自带 软删除功能 就利用全局作用域从数据库中提取「未删除」模型。编写自定义全局作用域可以提供一个方便、简单方法来确保给定模型每个查询都受到一定约束。...,如果是单条记录获取关联关系,就需要两次查询;如果是多条记录获取关联关系,比如文章列表页获取作者信息,因为每篇文章作者通过动态属性获取都有一次查询,所以对N条记录来说,需要N+1次查询才能返回需要结果...Laravel中允许你自定义中间表模型,需要注意是中间表模型与普通模型不一样 普通模型继承自Illuminate\Database\Eloquent\Model,而中间表模型继承自Illuminate...&更新关联模型 Eloquent提供了便捷方法将新模型增加至关联中,如你需要为一个Muser模型插入一个新Phone,这时你无须为Phone手动设置musers属性,直接在关联上使用save方法插入...在调用save方法向Phone模型插入值 这里Eloquent自动在phones表中添加了uid字段,并插入正确值 使用saveMany添加多个值 $user = \App\Muser::find

13.4K20

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

我们从软删除使用,再顺便说一说模型作用域概念。 代码时间 常规删除操作分两步进行,一步是把数据从数据库中查询出来,使用laravel模型方法, 则返回是一个模型对象。...模型相关代码如下: use Illuminate\Database\Eloquent\Model;use Illuminate\Database\Eloquent\SoftDeletes;class...大家注意, 想我们常规操作一样,就是获取一个时间戳$time, 然后把字段赋值: $this->deleted_at = $time; 最后使用update方法更新模型,并修改数据库条目。...既然说到了模型作用域,我们不妨延伸一下,说说这个设计点,以及适用场景。 比如说有一个查询条件在代码内到处都要用,有没有简写方法,写一次其他地方可以随意调用呢?这就是本地作用域方法了。...写在最后 本文从laravel模型写操作删除动作,讲到了软删除概念。进而引申出来本地作用域和全局作用域使用。软删除几乎贯穿了我们应用始终,需要大家勤学苦练。

1.3K30
领券