我想创建一个新用户,这是我的视图:
<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不正确的整数值:'on'为列。
我如何确保当我做$request->all()
时on值为真或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);
}
我没试过,但这就是我的想法。
我通常使用如下输入:在<form>
元素之后,我插入隐藏的输入,其名称与复选框输入相同,但使用默认值—在本例中为0—并为复选框添加value属性—在本例中设置为1。这样,如果未选中复选框,则元素被设置为0,但如果用户选中了输入,则将覆盖隐藏输入的值。