首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Laravel - SQL - SQLSTATE[01000]:警告:第1行的列'nsfw‘的1265数据已截断

Laravel - SQL - SQLSTATE[01000]:警告:第1行的列'nsfw‘的1265数据已截断
EN

Stack Overflow用户
提问于 2017-07-10 17:59:18
回答 4查看 39.7K关注 0票数 7

我试图保护数据库中的一些数据,但得到以下错误:

SQLSTATE01000:警告:第1行的列'nsfw‘的1265数据被截断

nsfw列的标准值为0。那是我的桌子:

nsfw列也在models $fillable数组中。

我想检测是否选中了复选框。如果勾选,nsfw应为1。否则,nsfw应为0。

这是复选框HTML代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <div class="form-group">
             <label for="nsfw" class="control-label">NSFW</label>
             <br>
             <input type="checkbox" name="nsfw">
  </div>

这就是控制器代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 if (Input::get('nsfw')) {
       $nsfw = true;
 } else {
       $nsfw = false;
 }

 // dd($nsfw) gives me true or 
 //false back, depending if the checkbox is checked or not

 $thread = new Thread();
 $thread->name = Input::get('thread-name');
 $thread->description = Input::get('thread-desc');
 $thread->age_min = Input::get('thread-min-age');
 $thread->age_max = Input::get('thread-max-age');
 if ($nsfw == true) {
     $thread->nsfw = 1;
 } else {
     $thread->nsfw = 0;
 }
 $thread->save();

谢谢你的帮助,对我糟糕的英语表示抱歉!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-07-10 18:22:48

转到connections.mysql中的config/database.php,将strict设置为false,然后尝试再次运行它,如果没有错误,请检查是否正确插入了数据。如果不这样做,那么您在前面提到的列中输入了错误的数据类型,因此请将代码设置为将值存储为字符串:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if ($nsfw == true) {
  $thread->nsfw = '1';
} else {
  $thread->nsfw = '0';
}
票数 22
EN

Stack Overflow用户

发布于 2018-04-06 09:34:55

当严格模式为true时,您会得到错误,这意味着您在代码中有其他错误,例如,错误的数据类型或拼写错误。

利奥的答案是正确的。我只想强调一下,您应该再次将严格模式重置为true。

票数 2
EN

Stack Overflow用户

发布于 2021-04-11 09:42:29

另外,检查数据库列的拼写错误,或者列中存在enum值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45018780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文