作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从这里获取引用:https://github.com/jenssegers/laravel-mongodb#examples
我的模型是这样的:
<?php
namespace App\Models;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
use Jenssegers\Mongodb\Eloquent\HybridRelations;
use Jenssegers\Mongodb\Eloquent\SoftDeletes;
class Message extends Eloquent
{
use HybridRelations;
use SoftDeletes;
protected $connection = 'mongodb';
protected $dates = ['deleted_at'];
protected $fillable = ['subject', 'information', 'created_at', 'update_at'];
}
我要插入的代码如下:
Message::create([
'subject' => $subject,
'information' => $information,
'created_at' => Carbon::now(),
'updated_at' => Carbon::now(),
'deleted_at' => null
]);
我尝试运行代码,它成功插入到表中,但我没有找到deleted_at字段
如何在 laravel mongodb 上实现软删除?
最佳答案
当您使用 jenssegers/laravel-mongodb 并插入对象(文档)时,不会创建 deteted_at
字段。当您对对象执行 delete()
时,会使用当前日期时间创建并设置该值。保存对象时无需分配 null
值。默认情况下,库会检索未设置字段 deleted_at
的文档,或具有 null
值的文档,以防 restore()
方法之前已经执行过。
不要忘记在模型定义中使用 Jenssegers\Mongodb\Eloquent\SoftDeletes;
,否则 SoftDelete 将不起作用,并且始终返回所有记录。
关于php - 如何在 laravel mongodb 上添加软删除? (拉拉维尔 5.3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42752994/
我是一名优秀的程序员,十分优秀!