Laravel 如何使用软删除方法通过单个查询更改行数据?
我正在使用方法从我的表中删除数据:Laravel 如何使用软删除方法通过单个查询更改行数据?,laravel,eloquent,laravel-8,Laravel,Eloquent,Laravel 8,我正在使用方法从我的表中删除数据: $q = Company::findOrFail(1); $q->delete(); 这很好,但在删除之前,我想将行-列值status=1更改为status=0,但它无法使用雄辩的delete()方法: $q = Company::findOrFail(1); $q->status = '0'; $q->delete(); 但如果我使用两个独立的查询,它工作得很好: $q = Company::findOrFail(1); $q->
$q = Company::findOrFail(1);
$q->delete();
这很好,但在删除之前,我想将行-列值status=1
更改为status=0
,但它无法使用雄辩的delete()
方法:
$q = Company::findOrFail(1);
$q->status = '0';
$q->delete();
但如果我使用两个独立的查询,它工作得很好:
$q = Company::findOrFail(1);
$q->status = '0';
$q->save();
$q = Company::findOrFail(1);
$q->delete();
如何通过一个有说服力的查询来实现这一点?您必须在公司模型上保存更改,如下所示:
$q = Company::findOrFail(1);
$q->status = 0;
$q->save();
$q->delete();
您必须在公司模型上保存更改,如下所示:
$q = Company::findOrFail(1);
$q->status = 0;
$q->save();
$q->delete();
应该是:
$q=Company::findOrFail(1);
$q->status=0;
$q->save();
$q->delete();
或
$q=Company::findOrFail(1);
$q->更新(['status'=>0]);
$q->delete();
它应该是:
$q=Company::findOrFail(1);
$q->status=0;
$q->save();
$q->delete();
或
$q=Company::findOrFail(1);
$q->更新(['status'=>0]);
$q->delete();