当前位置: 首页 > 知识库问答 >
问题:

更新Laravel 8中的复选框

柯昆
2023-03-14

我有如下复选框:

<div class="form-group clearfix">
  <div class="icheck-primary d-inline">
      <input type="hidden" name="type" value="0">
      <input type="checkbox" id="checkboxPrimary1" name="type" @if($role->type == 1) checked @endif>
      <label for="checkboxPrimary1">root</label>
  </div>
</div>

控制器中:

$role = Role::find($id);
$role->type = $request->has('type');
$data = $request->all();
$role->update($data);

当复选框值为1,然后我可以编辑,但当复选框值为0,然后我得到错误:SQLSTATE[01000]:警告: 1265数据截断为列类型在行1(SQL:更新user_rolessettype=0,user_rolesupdated_at=2021-10-10 15:48:36其中id=1)

数据库表中字段的类型-enum('0','1')

共有1个答案

邹嘉致
2023-03-14

发生这种情况是因为值'0'数据类型与MySQL数据类型不匹配。

您可以将数据库列数据类型从enum更改为varchar或string。

MYSQL:ALTER TABLE[user\u roles]MODIFY COLUMN[type]VARCHAR(50)

甚至可以尝试使用laravel迁移

 类似资料:
  • 我有一个复选框: 最初,我希望根据我获取的数据选中复选框。我有一个preference字段,它的值为0,所以我把: 然后根据emailpreference添加checked。但是一旦这个值得到,即使按下,我也会将状态从true更改为false,反之亦然。它不会更新。

  • 问题内容: 我遇到这样的情况,我想更新一些输入为复选框的数据,我在下面尝试了此代码。数据已保存在数据库中,但数据已保存在另一行中, 例如:我为BirdA选中了红色,黄色和灰色,同时为BirdD选中了黑色和蓝色。在数据库中,BirdA的颜色正确保存,但是第二只鸟的深色和蓝色保存在BirdB上( 应保存在BirdD上 ) 我想解决上面的问题,因此数据应保存在数据库中的正确位置。请在下面检查我的代码:

  • 试图用烧瓶和sqlalchemy做一个简单的待办事项应用程序,因为我以前从未在烧瓶中使用过复选框,所以我有以下问题。 应用程序是 HTML是: 当I, 选中复选框以完成待办事项任务并单击更新按钮后,控制台将打印出来: 如何更新数据库以将完整值从“0”更改为“1”? 给出400个错误请求 返回无 返回[] 我想我需要做这样的事情: 这样我就可以 我怎么能从那个不可变的MultiDict(在这种情况下

  • 问题内容: 我正在执行插入查询,其中如果已经存在唯一键,则许多列中的大多数都需要更新为新值。它是这样的: 我不确定该子句的语法应该是什么。如何从子句引用当前行? 问题答案: MySQL将假定等号之前的部分引用INSERT INTO子句中命名的列,而第二部分引用SELECT列。

  • 我试图创建一个简单的清单与开始日期,以响应时间滑块指定的日期。 > 每个任务都有开始日期。 只有在任务开始日期已过的情况下才应呈现每个任务复选框。 checklistTask.java

  • 问题内容: 有没有简单的方法来选择更新的行? 我试图每次读取行时都存储时间戳,以便能够删除长时间未读取的数据。 首先,我首先尝试执行查询,甚至发现有点慢但是简单的解决方案,例如 但我仍然想找到一种正常的方法来做到这一点。 我还认为先更新时间然后选择更新的行应该容易得多,但是即使如此,我也没有找到任何东西 问题答案: 声明该列,如下所示: 然后,每当更新一行时,该列就会自动更新。 更新: 我认为没有