我试图保护数据库中的一些数据并收到以下错误:
SQLSTATE[01000]:警告:1265 第 1 行的列“nsfw”的数据被截断
nsfw 列的标准值是 0。这是我的桌子:
nsfw 列也在模型中$fillable
array.
我想检测是否选中了复选框。如果选中,则 nsfw 应为 1。如果未选中,则 nsfw 应为 0。
这就是复选框 HTML 代码:
<div class="form-group">
<label for="nsfw" class="control-label">NSFW</label>
<br>
<input type="checkbox" name="nsfw">
</div>
这就是控制器代码:
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();
感谢您的帮助,并对我的英语不好表示歉意!
Go to config/database.php
in the connections.mysql
将 strict 设置为 false,然后尝试再次运行它,如果没有错误,请检查数据是否正确插入。如果不这样做,那么您将在上述列中输入错误类型的数据,因此将代码设置为将值存储为字符串:
if ($nsfw == true) {
$thread->nsfw = '1';
} else {
$thread->nsfw = '0';
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)