ไม่สามารถกู้คืนข้อมูลที่ถูกลบแบบนุ่มนวลใน 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 คอลัมน์ที่ถูกลบ แต่ไม่ได้อัปเดตอะไรเลยใน 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 อย่างเป็นทางการแล้วติดตามสิ่งเดียวกัน


person Yamin    schedule 11.07.2017    source แหล่งที่มา
comment
คุณแน่ใจหรือไม่ว่ามีอย่างอื่นในคำขอที่ไม่ได้ลบออก คือกำลังกู้คืนแต่ก็ถูกลบอีกครั้งใช่ไหม   -  person Ben Swinburne    schedule 11.07.2017
comment
ฉันจัดการเพื่อจัดเรียงมันออก ฉันใช้ธุรกรรม DB และกำลังตรวจสอบผลลัพธ์โดยไม่ได้กระทำการใดๆ ฉันโง่. ขอบคุณสำหรับความช่วยเหลือทั้งหมดของคุณ   -  person Yamin    schedule 12.07.2017


คำตอบ (2)


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

person Kuldeep Mishra    schedule 11.07.2017
comment
ใช้งานไม่ได้ มันคืนค่าจริง แต่ยังคงแสดงการประทับเวลาในคอลัมน์ Deleted_at และเมื่อฉันเลือกข้อมูล มันยังไม่มา - person Yamin; 11.07.2017

ฉันไม่รู้ว่าคุณพบคำตอบแล้วหรือไม่ แต่บางทีคุณอาจลองสิ่งนี้ในคอนโทรลเลอร์ของคุณ

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