Tidak dapat memulihkan data sementara yang terhapus di laravel

Saya bertanya-tanya mengapa saya tidak dapat memulihkan data yang terhapus sementara di laravel. Saya telah melakukan semuanya dengan benar tetapi tidak yakin apa yang saya lewatkan sehingga saya tidak dapat memulihkan data.

Model saya adalah

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

Saya telah menggunakan sifat penghapusan sementara. Untuk mengembalikan data saya yang terhapus sementara, saya melakukan sesuatu seperti di bawah ini

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

tapi itu tidak mengembalikan data, saya berasumsi ketika kita mengembalikan data laravel NULL kolom yang dihapus_at, tetapi tidak memperbarui apa pun pada id itu

Saya juga sudah mencoba

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

Saya tidak yakin apa kesalahan yang saya lakukan, mungkinkah ada yang harus kami lakukan untuk mencapai pemulihan? Saya memeriksa dokumen resmi laravel dan mengikuti hal yang sama.


person Yamin    schedule 11.07.2017    source sumber
comment
Apakah Anda yakin ada hal lain dalam permintaan yang tidak menghapusnya? yaitu dipulihkan tetapi kemudian dihapus lagi?   -  person Ben Swinburne    schedule 11.07.2017
comment
Saya berhasil menyelesaikannya. Saya menggunakan transaksi DB dan tanpa melakukan itu saya memeriksa hasilnya. Saya konyol. Terima kasih atas semua bantuan Anda.   -  person Yamin    schedule 12.07.2017


Jawaban (2)


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

person Kuldeep Mishra    schedule 11.07.2017
comment
Tidak berfungsi, mengembalikan nilai true tetapi masih menampilkan stempel waktu di kolom delete_at dan ketika saya memilih data belum datang. - person Yamin; 11.07.2017

Saya tidak tahu apakah Anda sudah menemukan jawabannya atau belum, tapi mungkin Anda bisa mencobanya di pengontrol Anda

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