代码之家  ›  专栏  ›  技术社区  ›  Chonchol Mahmud

如何编辑软删除的数据而不在Laravel中恢复?

  •  0
  • Chonchol Mahmud  · 技术社区  · 6 年前

    我用过 SoftDelete 从中删除事件 events 桌子 软删除 工作正常。我已经证明了这一点 软删除 事件 withTrashed() 在视图中,它正在显示。现在我想编辑一下 软删除 事件数据,而不还原它。可能吗?

    我犯了个错误 400-我们找不到该页面 当我试过的时候。

    $data['events'] = $qBuilder->EventComplete()->withTrashed()
                        ->orderBy('events.event_date', 'desc')
                        ->groupBy('events.id')
                        ->paginate(AppHelper::getConfigValue('ADMIN-PAGINATION-LIMIT'));
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Marcin Nabiałek    6 年前

    应该是这样的:

    Model::withTrashed()->find(5)->update(['attribute' => 'value']);
    

    因此,您正在使用eloquent apply with Trashed-查找单个模型(此处id=5),然后更新所需的属性。

    你没有展示更多,但是在你的情况下,假设你使用 Route model binding 您可能需要对其进行调整,以允许同时查找软删除的模型:

    Route::bind('user', function ($value) {
        return App\User::withTrashed()->findOrFail($value);
    });