2017-07-11 12 views
0

laravelでソフト削除されたデータを復元できないのはなぜですか?私はすべてを正しく行いましたが、何が欠けているのか分からないので、データを復元できません。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のdocをチェックし、それに従った。

+0

でこれを試すことができますが、あなたはリクエストで何か他のものがそれを削除されていませんか?つまり、復元されていますが、もう一度削除されていますか? –

+0

私はそれを整理することができます。私はDBトランザクションを使用していましたが、結果を確認していました。愚かな私。すべてのお手伝いをありがとう。 – Yamin

答えて

0

$ restoreAccount = SocialAccounts :: onlyTrashed() - > find($ id) - > restore();

+0

これは機能しませんが、trueを返しますが、依然としてdeleted_at列にタイムスタンプを表示します。データを選択すると、タイムスタンプは表示されません。 – Yamin

0

私はあなたが既に答えを見つけるかどう知らないが、多分あなたはあなたのコントローラ

public function restore($id) 
{ 
    $restoreAccount = SocialAccounts::onlyTrashed()->->where('id', $id)->restore(); 
    return redirect()->route('your.route'); 
} 
関連する問題