2017-07-11 5 views
0

Ich frage mich, warum ich weich gelöschte Daten in Laravel nicht wiederherstellen kann. Ich habe alles richtig gemacht, aber nicht sicher, was ich vermisse, so dass ich keine Daten wiederherstellen kann.Nicht in der Lage, gelöschte Daten in Laravel wiederherzustellen

Mein Modell ist

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']; 
} 

ich verwendet habe, weiche Züge löschen. Für Wiederherstellung meiner weichen gelöschte Daten ich etwas tue, wie unten

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

aber es werden keine Daten wiederherstellen, ich angenommen bin, wenn wir Daten Laravel NULL die deleted_at Spalte wiederherzustellen, aber es ist die Aktualisierung nichts auf dieser ID

ich habe auch versucht,

//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(); 

ich bin nicht sicher, was ich falsch mache, kann es sich wieder herstellen, was wir tun zu erreichen haben? Ich überprüfte den offiziellen Laravel Doc und folgte dem selben.

+0

Sind Sie sicher, dass etwas anderes in der Anfrage nicht löscht? d. h. es wird wiederhergestellt, aber dann wieder gelöscht? –

+0

Ich schaffe es, es zu sortieren. Ich benutzte die DB-Transaktion und ohne es zu begehen, habe ich nach dem Ergebnis gesucht. Wie dumm von mir. Danke für all deine Hilfe. – Yamin

Antwort

0

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

+0

Funktioniert nicht, gibt true zurück, zeigt aber immer noch den Zeitstempel in der Spalte deleted_at, und wenn ich Daten auswähle, ist er nicht gekommen. – Yamin

0

Ich weiß nicht, ob Sie schon die Antwort oder nicht, finden aber vielleicht können Sie versuchen, diese in Ihrem Controller

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