我正在使用Laravel軟刪除以便「刪除」一條記錄。但奇怪的是發生了什麼,用於軟刪除記錄的delete()
命令顯然會影響表中其他時間戳記行,除非我錯過了某些關鍵事項。Laravel`delete()`影響其他時間戳列
我的模型(只有相關的部分包括,命名空間都已經被正確包括):
use SoftDeletes;
protected $fillable = [ 'card_id', 'expiry_date' ]; // where expiry_date is the timestamp row being affected.
protected $hidden = ['created_at', 'updated_at', 'deleted_at'];
我的控制器:
public function destroy(IdCardFormRequest $request, $id)
{
$idCard = IdCard::find($id);
if(isset($idCard)){
$operationStatus = $idCard ->delete();
if($operationStatus) {
$request->session()->flash('status', 'success');
$request->session()->flash('message', 'Id card deleted successfully');
return redirect()->route('admin.id-card.index');
}
}
}
的問題
當我啓動刪除過程使用適當的路由MySql數據行是軟刪除d,但是其他基於時間戳的行,即expiry_date
被更新爲當前時間戳。我已閱讀了Laravel有關軟刪除的整個文檔,並沒有提及其他時間戳列會受到影響。
編輯:
嗯,我一直在使用的dateTime()
代替timestamp()
解決它。我仍然不確定這是一個合適的解決方案