laravel - 切换复选框的输入字段中的@if条件 - Laravel
问题描述
我的刀片模板包含一个表单,可以在其中插入姓名、邮件等数据。一个输入字段是一个切换复选框,您可以在其中检查您是否是实习生。
- 实习生 => 切换选中并且“是”可见(等于数据库 1)
- 非实习生 => 未选中切换,并且“否”可见(等于数据库 0)
该框的检查工作正常,但状态实习生或外部实习生未发送到数据库。贝娄,你会找到我的代码。我不知道这是否是正确的方法。
<input checked data-toggle="toggle" data-on="Yes" {{$person->intern_extern == '1' ? 'checked' : ''}}
data-off="No" {{$person->intern_extern == '0' ? 'checked' : ''}} data-onstyle="primary"
data-offstyle="info" type="checkbox"
name="intern_extern">
解决方案
正如与@N69S 讨论的那样,我会建议您使用需要更少代码的解决方案。
- 您在客户端的是/否等于服务器端的 1/0。
- 默认情况下,如果未选中,表单中的复选框不会发送到服务器端。
因此,使用请求在 Laravel 中的工作方式,您可以创建一个像这样的复选框:
<input name="intern_extern" type="checkbox" {{$person->intern_extern == 0 ? 'checked' : ''}}>
在您的控制器中,更新人物模型时,请执行以下操作:
$person->intern_extern = $request->input('intern_extern', 0);
这就是 N69S 对 $request->input() 的解释:
是的,默认情况下它为空,但您可以在恢复输入特征时设置它 InteractsWithInput @ public function input($key = null, $default = null)
在这种情况下,如果复选框 inter_person 被选中,表单将发布值为 true 的输入。如果未选中,则不会发送,值为 0。
如果您使用它来创建模型:$model = Model::create($request->all());
,您必须在迁移中设置默认值$table->boolean('intern_extern')->default(0);
才能使所有这些工作。
编辑 - 简单的建议
当我使用布尔值时,我喜欢将它们命名为“isSomething”。在您的情况下,isIntern 或 isExtern。因此,当您必须参考它时,阅读它很简单。isIntern(是或否)或 isExtern(是/否)。
推荐阅读
- python-3.x - python lxml xpath 1.0:元素属性的唯一值
- asp.net - LinkedIn个人资料获取在asp.net中不起作用
- java - 我怎样才能实现对主题的消息处理一次?
- javascript - 将二维码子串并自动输入到 Zoho 的表单字段中
- c# - 时间:2019-04-10 标签:c#streamwriterclose()不关闭流
- node.js - 在旧版本的 MongoDB 中是否有 $expr 的替代方案?
- c# - API 响应强制转换时出现异常
- vim - 在 vscode 中,如何将编辑器区域放在选项卡中,而不是相反?
- jakarta-ee - Deltaspike @Scheduled 在 jar 文件中
- git - 在 git log 中,寻找更有用的 --first-parent 变体