我正在使用Laravel软删除,以便“删除”一个记录。但是正在发生一些奇怪的事情,用来软删除记录的delete()
命令显然影响了我表中的其他时间戳行,除非我遗漏了一些关键的东西。
My Model (只包含相关部分,名称空间都已正确包含):
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数据行将被正确地软删除,而另一个基于时间戳的行(即expiry_date
)将被更新为当前时间戳。我已经阅读了与Laravel中的软删除有关的全部文档,它没有提到其他时间戳列将受到影响。
编辑:
我用dateTime()
而不是timestamp()
解决了这个问题。我仍然不确定这是否是正确的解决办法
https://stackoverflow.com/questions/45588066
复制相似问题