laravel - Laravel - 当前状态为1时如何将所有状态设置为0
问题描述
我的 Laravel 5.8 控制器中有这段代码:
public function store(StoreIdentityRequest $request)
{
$userCompany = Auth::user()->company_id;
$identity = Identity::create([
'name' => $request->name,
'is_status' => $request->has('is_status'),
]);
$id = $identity->id;
Identity::where('id', '!=', $id)
->where('company_id', $userCompany)
->update(['is_current' => 0]);
}
is_status
可以是 0 或 1。
当用户提交时,如果当前(或选定)is_status
为 1,我希望应用程序将is_status
除当前值之外的所有其他值切换为 0。
我应用了这个代码,如控制器中所示:
Identity::where('id', '!=', $id)
->where('company_id', $userCompany)
->update(['is_current' => 0]);
但即使电流is_status
为0,它也会将所有内容变为0
我该如何解决这个问题?
解决方案
你做得很好,先做 is_current = 0 ,然后用 is_current = 1 做你的新条目:像这样
public function store(StoreIdentityRequest $request)
{
$userCompany = Auth::user()->company_id;
if($request->is_status == 0){
Identity::where('company_id', $userCompany)->update(['is_status'=>0]);
}
$identity = Identity::create([
'name' => $request->name,
'is_status' => $request->is_status,
]);
}
推荐阅读
- r - sankey plot R不显示降价
- json - 如何使用 powershell 脚本从 Url 中提取 json 数据
- file - 从代码输出保存到文件时遇到问题
- emacs - 附加到 emacs-lisp 中列表的默认值:具体来说,dotspacemacs-configuration-layers
- laravel - 如何使用 JavaScript 从 Firebase 中删除图像?
- javascript - toLocaleDateString() 不适用于哈萨克斯坦语言
- javascript - 角度可编辑文本
- python - 使用 AUC 指标进行多标签分类的预测
- flutter - 在 ui 中访问进度表单上传
- python-3.x - Python `resuets.post()` 在 JupyterLab 中工作,但在 python 脚本中失败