我在更新 Eloquent 模型时遇到了一个奇怪的问题。我使用复选框(值为 1 或未定义)并在验证后使用 patch 更新所有数据。
$input = $request->all();
$service->update($input);
我试图专门勾选复选框
$input['active'] = ($request->has('active') && $input['active']) ? 1 : 0
但是这并不会影响数据库。
当我转储 Request
时,我可以看到 active:
1
或 0
,但这些都不会在 update()
上更改数据库。
我进行了快速测试,并使用了:
$service->active = ($request->has('active') && $input['active']) ? 1 : 0 ;
$service->save();
执行了该任务。但为什么 update()
没有更新这个字段呢?
$input['active'] = $request->has('active') ? 1 : 0
? - aleksejjjdd($request->input('active'))
时,它会返回true
吗? - Rwd