繁体   English   中英

Laravel还原被破坏无法正常工作

[英]Laravel restore trashed not working

直到将其状态保存到数据库中之前,还原功能似乎正在运行。 我有以下代码:

if($result->trashed()) {
     Log::info($result->deleted_at);

     $result->restore();

     Log::info($result->deleted_at);
}

$result->award_id = 1;
$result->save();

Log::info($result->deleted_at);

调试显示了代码工作方式,如下所示:

2015-09-22
null
null

但是,数据库中的记录仍在Deleted_at列中显示日期。

我使用Laravel 4.2。

事实证明,根据我在Github上提出的问题,这是Laravel 4.2的一个相当主要的错误:

https://github.com/laravel/framework/issues/10630#issuecomment-148739682

不幸的是,不再支持4.2,因此我不得不用以下方法替换restore()方法:

UserClass::where('user_id', '=', $user->id)
                ->where('class_id', '=', $class_id)
                ->withTrashed()
                ->update([
                      'deleted_at' => null
                ]);

据我所知,这仍然是Laravel更高版本的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM