簡體   English   中英

如何在 Laravel mongodb 上添加軟刪除? (Laravel 5.3)

[英]How can I add soft delete on laravel mongodb? (Laravel 5.3)

我從這里得到參考: 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()方法。

不要忘記use Jenssegers\\Mongodb\\Eloquent\\SoftDeletes; 在模型的定義中,否則 SoftDelete 將不起作用,它將始終返回所有記錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM