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

在Laravel 7的查询构建器中使用软删除onlyTrashed方法时出错

可能是由于以下原因导致的:

  1. 未正确引入软删除的Trait:在使用软删除功能之前,需要在相关模型中引入Laravel提供的SoftDeletes Trait。确保在模型文件中使用use语句引入该Trait,例如:use Illuminate\Database\Eloquent\SoftDeletes;
  2. 未定义软删除的字段:在数据库表中,需要为软删除字段创建一个名为"deleted_at"的字段。确保该字段存在于相关的数据库表中,并且已经迁移到数据库中。
  3. 未正确使用onlyTrashed方法:在查询构建器中使用onlyTrashed方法时,需要确保该方法位于where子句之后。例如,正确的使用方式是:Model::onlyTrashed()->where('column', 'value')->get();
  4. 未正确使用软删除的模型:在使用软删除功能时,需要确保使用的模型继承自Laravel提供的基础模型类,并且在模型类中定义了软删除的Trait。例如,正确的使用方式是:class MyModel extends Model { use SoftDeletes; }

如果以上步骤都正确无误,但仍然出现错误,可能是由于其他原因导致的。可以尝试查看Laravel的错误日志,以获取更详细的错误信息。此外,也可以参考Laravel官方文档中关于软删除的章节,以获取更多关于软删除的信息和使用方法。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云区块链(Blockchain):https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙(Metaverse):https://cloud.tencent.com/product/metaverse
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

每次这么做得崩溃掉,到时候我们控制类里面可能会遍布这种设置代码,Laravel 号称优雅就是打脸了。所以这个时候,批量赋值就粉墨登场了,批量赋值就是为我们解决这个问题。...实现原理 Eloquent 模型类为我们提供了「删除」功能支持。这就意味着, Laravel ,我们不需要编写任何额外代码就可以实现对数据库记录删除」。...这样我们模型类上做所有常规查询操作时候就会过滤掉被删除记录(这些常规查询在上一篇教程已经给出)。...如果想要在查询结果中出现删除记录,可以通过查询时候调用 withTrashed 方法实现: $post = Post::withTrashed()->find(32); 返回结果和正常查询结果一样...某些场景下,你可能只需要获取被删除记录,这可以通过 onlyTrashed 方法来实现: $post = Post::onlyTrashed()->where('views', 0)->get()

2.3K10

Laravel5.7 Eloquent ORM快速入门详解

将 Eloquent 模型看作功能强大查询构建,你可以使用它来流畅查询与其关联数据表。例如: <?...Eloquent 查询使用查询构建所有方法。...}); 获取聚合结果 当然,你还可以使用查询构建提供聚合方法,例如 count、sum、max,以及其它查询构建提供聚合函数。...); }); 现在,当调用模型 delete 方法,deleted_at 列将被设置为当前日期和时间,并且,当查询一个使用删除模型,被删除模型将会自动从查询结果中排除。...Laravel 自带删除功能就使用了全局作用域来从数据库拉出所有没有被删除模型。编写自定义全局作用域可以提供一种方便、简单方式来确保给定模型每个查询都有特定条件约束。

15K41

跟我一起学Laravel-EloquentORM基础部分

使用Eloquent [‘eləkwənt] ,数据库查询构造方法对模型类也是也用使用上只是省略了DB::table('表名')部分。...) ->take(10) ->get(); 可以看到,查询构造方法对模型类也是可以使用 eloquent ORM,get和all方法查询出多个结果集,它们返回值是一个Illuminate...,返回删除行数 $deletedRows = App\Flight::where('active', 0)->delete(); 删除 删除增加deleted_at字段,当删除记录时候不会真实删除记录...方法 if ($flight->trashed()) { // } 查询删除模型 包含删除模型 如果模型被删除了,普通查询是不会查询到该结果,可以使用withTrashed方法强制返回删除结果...', 1) ->get(); 还原删除模型 查询删除模型实例之后,调用restore方法还原 $flight->restore(); 也可以查询使用 App\Flight::withTrashed

83520

Laravel 9个不经常用小技巧

更新父表timestamps 如果你想在更新关联表同时,更新父表timestamps,你只需要在关联表model添加touches属性。 比如我们有Post和Comment两个关联模型 <?...关联使用withDefault() 调用关联,如果另一个模型不存在,系统会抛出一个致命错误,例如 $comment->post->title,那么我们就需要使用withDefault() ......两层循环中使用$loop bladeforeach,如果你想获取外层循环变量 @foreach ($users as $user) @foreach ($user->posts as $post...通过关联查询记录 hasMany关联关系,你可以查询出关联记录必须大于5记录 $posts = Post::has('comment', '>', 5)->get(); 8....删除 查看包含删除记录 $posts = Post::withTrashed()->get(); 查看仅被删除记录 $posts = Post::onlyTrashed()->get(); 恢复删除模型

73920

TP5框架model常见操作示例小结【增删改查、聚合、时间戳、删除等】

分享给大家供大家参考,具体如下: 使用model 查询数据,添加数据,修改数据,删除数据 聚合操作 获取,修改 自动添加时间戳(创建时间,修改时间) 删除 1、使用model查询数据 $res =...记录 num 最大值 6、使用模型获取 //model //方法名: get字段名Attr //controller获取原始数据使用 $res- getData() public function...使用模型修改 //model 修改命名 set字段名Attr //修改作用:往数据库添加字段,控制写未处理数据,模型修改写处理数据方法,这样添加到数据库数据就是处理过得数据了...// database.php 更改配置 'auto_timeStamp' = true // 不推荐使用方法,因为如果你数据库表没有 对应字段 ,程序可能就会报错 // 可以单独 某个模型...$res = User::onlyTrashed()- select(); //获取所有删除数据 更多关于thinkPHP相关内容感兴趣读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP

1.1K30

3分钟短文:Laravel说要用删除,可不要真删

引言 我们不止一次系列文章中讲到模型删除”功能,因为现实场景为了保证数据可追溯,我们几乎不会对数据库进行物理删除删除数据有可能会造成数据一致性破坏,进而导致业务逻辑无法跑通。...所以,删除概念,极为重要。 本文我们仍然不厌其烦地讲解删除功能。 物理删除 其实就是真实地把数据从数据库条目清除,laravel模型提供了开箱即用方法。...删除 许多情况下,你不会真正想要从数据库删除记录,而是用一种不再在应用程序显示它们方式对其进行注释。这就是所谓删除。...Laravel本身支持删除,只需要进行少量配置更改,以确保执行delete或destroy,模型记录不会被实际删除。作为一个例子,我们修改Event模型以支持删除。...如果你代码内要坚持查询全量数据,也包含删除数据,那么代码这样写: $events = Event::withTrashed()->get(); 写在最后 本文我们有重温了laravel模型删除功能

2.1K00

通过 Laravel 查询构建实现简单增删改查操作

通过前面几篇教程预热,我们已经连接上数据库,创建好了数据表,填充好了数据,接下来,就是 Laravel 应用实现对数据库增删改查了。...DB 门面提供方法执行原生 SQL 语句,DB 门面既可以用于构建查询构建方法链,也可以用于原生语句执行。...使用查询构建进行增删改查 接下来,我们开始介绍 Laravel 数据库功能核心组件 —— 查询构建(说是核心,是因为 Eloquent 模型底层也是基于这个查询构建),日常开发,我们与数据库交互基本都是直接或间接通过它来完成...查询构建也是基于 DB 门面的,只不过需要调用其提供 table 方法构建一个基于指定数据表查询构建。...,无需手动设置参数绑定来规避 SQL 注入攻击,因为 Laravel 底层会帮助我们自动实现参数绑定,所以推荐使用查询构建进行数据库操作。

4.2K20

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

我们从删除使用,再顺便说一说模型内作用域概念。 代码时间 常规删除操作分两步进行,一步是把数据从数据库查询出来,使用laravel模型方法, 则返回是一个模型对象。...::destroy(1); 该方法可以可以用于批量删除传入指定ID数组条目: Contact::destroy([1, 5, 7]); 当然了,delete方法只是链式调用一个方法,我们通过查询构造过滤后数据集...所以引入了删除概念,就是表内添加一个字段,用于标记,这一行条目是否算是删除状态。laravel, 这个删除字段默认是 deleted_at。你也可以模型手动指定。...然后模型,引入删除功能,将其进行全局生效使用。...写在最后 本文从laravel模型写操作删除动作,讲到了删除概念。进而引申出来本地作用域和全局作用域使用删除几乎贯穿了我们应用始终,需要大家勤学苦练。

1.3K30

更新依赖遇到一些问题以及解决方法

monday-shop 商城 这里有一个删除和上架(使用删除)功能 更新了版本,使用是DropdownActions替代了以前Actions 这个地方遇见了两个问题...控制的确有destroy方法并且的确执行了强制删除, 没能删除成功原因,肯定是因为未进入这个方法 monday-shop 商城 尝试执行了一次删除,通过查看网络请求,并非请求到指定控制...monday-shop 商城 所以解决方法也很简单,我们实际Action类重写这个方法 强制查询删除数据即可, 到此便可正常上下架商品 monday-shop 商城...我们查看Delete Action 类, 发现这个类只是简单删除, 并不是强制删除 monday-shop 商城 所以, 我们使用地方移除掉这个默认删除操作,增加一个强制删除...monday-shop 商城 强制删除操作做事情也很简单,只要使用Laravel自带强制删除方法即可 monday-shop 商城 至此, 删除便可完成

17910

3分钟短文:Laravel 检查记录是否被删除

引言 laravel模型引入了SoftDeletes这个全局作用域用于将数据库条目 标记为删除,而实际上并不清除数据,这样可以为后续数据恢复做铺垫。...= 'my_deleted_at'; } 如果要使用框架格式化方法对该字段进行标准操作: protected $dates = ['my_deleted_at']; 检查条目 上一节介绍了默认删除使用方法...,和自定义删除字段方法。...使用删除功能后,会在模型查询方法上,默认追加 where deleted_at is null 那么如果使用了全量查询后,如何判断一个记录是否是已经删除呢?laravel提供了这些功能。...写在最后 本文通过对laravel模型删除源码分析, 为大家展示了引入删除功能,并自定义删除标记字段方法。通过模型提供方法,进而判断记录是否已删除

1.5K30

Laravel 使用查询构造配合原生sql语句查询例子

首先说一下本人使用版本: 5.5 很多复杂查询, 往往需要原生语句进行查询, laravel , 我们可以这样使用原生查询 $user = DB::select('select * from..., [1]) 查询构建 https://laravel-china.org/docs/laravel/5.5/queries#where-clauses $sql = '(FROM table_name1...$res = $DB::table(DB::raw($sql))- where([["id"= 1]])- paginate(10); 在这里里面$sql 充当了 视图表(临时表), 可以是更为复杂联合查询...; 这样我们可以使用 “where“,”paginate ” 等构建; 需要注意是: sql 字符串是用 括号 ‘()’ 括起来, 不然会出错; 以上这篇Laravel 使用查询构造配合原生sql...语句查询例子就是小编分享给大家全部内容了,希望能给大家一个参考。

3.2K41

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

而且通过PDO绑定方式避免SQL注入攻击,使用查询构建不必考虑过滤用户输入。...Eloquent ORM本质上是查询构建,因此上面查询构建使用方法Eloquent都可以使用。...使用create批量添加,需要在模板通过fillable指定可以赋值字段,也可以guard指定不允许赋值字段。...name'= 'orm3','age'= 13]); 删除数据也有两种方法,一是通过find方法删除指定主键,二是通过查询构建: //destroy删除指定主键值 Student::destroy(1006,1007...; 当然也可以通过构建get()、first()来获取数据 通过上面的增删改查可以看出Eloquent可以使用查询构建所有方法,除了增删改查外,还有where、聚合函数等。

13.3K51

3分钟短文 | Laravel复杂SQL超多WHERE子句,本地作用域你没用过

引言 使用框架就是为了方便把注意力集中逻辑上,而不用关心与数据库操作方方面面。...今天说一说,复杂超多WHERE子句,怎么写起来较为优雅。 学习时间 比如对于业务逻辑,User模型筛选查询时候有非常多限制条件,类似下面这样: ?...Laravel 删除功能就是利用此特性从数据库获取 “未删除模型。 你可以编写你自己全局作用域,很简单、方便为每个模型查询都加上约束条件。看官方给出示例: ?...那么使用 User::all() 方法构造查询,生成sql语句中会追加 AgeScope 设置查询约束条件: select * from `users` where `age` > 200 实现本地作用域...就是在对应 Eloquent 模型方法前添加 scope 前缀,模型构造如下作用域方法: ?

2.8K10
领券