[英]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.