【发布时间】:2017-03-05 21:09:18
【问题描述】:
我在更新 eloquent 模型时遇到了一个奇怪的问题,我使用了一个复选框 (1 || undefined) 并在使用验证后修补了所有数据
$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怎么样 -
当您
dd($request->input('active'))时,它是否返回true? -
另外,您在尝试此操作时是否遇到错误,或者它是否有效但只是不更新该字段?
标签: php laravel laravel-5 eloquent