我想知道为什么我无法在laravel中恢复软删除的数据。我已经做好了一切,但不确定我缺少什么,所以我无法恢复数据。
我的模特是
namespace App\Model\Clients;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class SocialAccounts extends Model{
protected $table = 'social_accounts';
use SoftDeletes;
protected $dates = ['deleted_at'];
}
我使用过软删除特征。为了恢复我的软删除数据,我正在做类似下面的事情
$restoreAccount = SocialAccounts::withTrashed()->find($id)->restore();
但它没有恢复数据,我假设当我们恢复数据laravel NULL的deleted_at列,但它没有更新该id的任何内容
我也试过
//second alternate method
$restoreAccount= SocialAccounts::withTrashed()->find($id)->update(['deleted_at' => NULL]);
//Third alternate method
$restoreAccount = SocialAccounts::withTrashed()->find($id);
$restoreAccount->deleted_at = NULL;
$restoreAccount->save();
我不确定我在做什么错,我们可以做些什么来实现恢复?我检查了官方的laravel文档,并遵循相同的。
答案 0 :(得分:0)
$ restoreAccount = SocialAccounts :: onlyTrashed() - > find($ id) - > restore();
答案 1 :(得分:0)
我不知道你是否已经找到了答案,但也许你可以在你的控制器中试试这个
public function restore($id)
{
$restoreAccount = SocialAccounts::onlyTrashed()->->where('id', $id)->restore();
return redirect()->route('your.route');
}