我想创建一个新用户,这是我的观点:
<form enctype="multipart/form-data" action="/user/create" method="POST">
<label>Naam</label>
<input type="text" name="name" id="name">
<label>Email</label>
<input type="text" name="email" id="email">
<label>Password</label>
<input type="text" name="password" id="password">
<label>Admin</label>
<input type="checkbox" name="admin" id="admin"><label for="admin">Admin</label>
<label>Safety Settings</label>
<input type="checkbox" name="watchDashboard" id="watchDashboard"><label for="watchDashboard">Watch Dashboard</label><br>
<input type="checkbox" name="watchBlocks" id="watchBlocks"><label for="watchBlocks">Watch Blocks</label>
<input type="checkbox" name="editBlocks" id="editBlocks"><label for="editBlocks">Edit Blocks</label>
<input type="checkbox" name="watchWastes" id="watchWastes"><label for="watchWastes">Watch Wastes</label>
<input type="checkbox" name="editWastes" id="editWastes"><label for="editWastes">Edit Wastes</label>
<input type="checkbox" name="watchGrondstof" id="watchGrondstof"><label for="watchGrondstof">Watch Grondstof</label>
<input type="checkbox" name="editGrondstof" id="editGrondstof"><label for="editGrondstof">Edit Grondstof</label>
<input type="checkbox" name="manageUsers" id="manageUsers"><label for="manageUsers">Manage Users</label>
{{ csrf_field() }}
<input type="submit" class="pull-right btn btn-sm btn-primary">
</form>
当我点击提交按钮时,我想获取数据库中的数据:
public function create(Request $request){
$user = new User();
$user::create(
$request->all()
);
}
当我点击提交时,我收到此错误:
常规错误:1366错误的整数值:&#39; on&#39;对于专栏。
如何确保$request->all()
当值为真或1?
谢谢!
答案 0 :(得分:1)
如何在将数据传递给模型之前修改数据?
public function create(Request $request){
$data = $request->all();
$data['watchDashboard'] = $request->watchDashboard ? 1 : 0;
$data['watchBlocks'] = $request->watchBlocks? 1 : 0;
..... (other checkboxes)
$user = new User();
$user::create($data);
}
没有尝试过,但那是个主意。
答案 1 :(得分:0)
我通常使用如下输入:
在<form>
元素之后,我插入隐藏的输入,其名称与复选框输入相同,但默认值为 - 在这种情况下为0 - 并且对于复选框添加值属性 - 在这种情况下设置为1这样,如果未选中该复选框,则该元素设置为0,但如果用户检查输入,则将覆盖隐藏输入的值。