我有一个具有这种结构的表:
Schema::create('questions', function (Blueprint $table) {
$table->string('question');
$table->enum('type', ['text', 'option', 'checkbox', 'select', 'long_text']);
$table->integer('conf_id');
});
然后我有一个表单来创建一个问题。此表单具有问题的标题和类型。该类型是一个选择菜单,其中包含“长文本”,“文本”,“选择菜单”选项, “复选框”,“单选按钮”。
我怀疑是:
例如,如果用户为问题引入标题,然后是类型,例如类型值“Long Text”,则此类型值仅在langue为英语时才有效,但是例如用户更改另一种语言的语言时,“长文本”选项将具有不同的值,商店将无法使用。
你知道如何妥善处理这个问题吗?
我收到此错误:
SQLSTATE[01000]: Warning: 1265 Data truncated for column 'type' at row 1
(SQL: insert into `questions` (`conf_id`, `question`, `type`)
values (1, test, Text))
存储问题:
$this->validate($request, [
'question' => 'required|max:255|string',
'type' => 'required|'in:text, option, checkbox, select, long_text',
]);
$conf = Conf::find($id);
Question::create([
'conf_id' => $conf->id,
'question' => $request->question,
'type' => $request->type,
]);
输入表单字段:
<div class="form-group">
<label for="type">Type</label>
<select class="form-control" name="type" id="type">
<option name="text">text</option>
<option name="long_text">Long Text</option>
<option name="checkbox">Select menu</option>
<option name="radio_button">Radio button</option>
<option name="select_menu">Checkbox</option>
</select>
</div>