我在尝试提交表单时遇到此错误: 一般错误: 1366 不正确的整数值:第 1 行"重要性"列的"important"(SQL:插入项目 (title, dateDebut, dateFin, cout, partenaires_financiers, important, updated_at, created_at) 值 (MyTest
, 1996/08/15, 1998/06/28, 15900, paldk ksjd, important, 2017-01-18 15:31:57, 2017-01-18 15:31:57))这是我使用的代码:
提交刀片.php :
<label for="Import">Importance</label>
<div class="form-group">
<label class="radio-inline">
<input type="radio" id="tres_important" name="importance" value="tres_important">Très important</label>
<label class="radio-inline">
<input type="radio" id="important" name="importance" value="important">Important</label>
</div>
迁移"create_projects_table.php":
class CreateProjetsTable extends Migration
{
public function up()
{
Schema::create('projets', function (Blueprint $table) {
$table->increments('id',true);
$table->string('title');
$table->date('dateDebut');
$table->date('dateFin');
$table->float('cout');
$table->string('partenaires_financiers');
$table->integer('importance');
$table->timestamps();
});
}
"路线.php" :
Auth::routes();
Route::get('/home', 'HomeController@index');
Route::get('/', function () {
$projets = AppProjet::all();
return view('welcome', compact('projets'));
});
Route::get('/submit', function () {
return view('submit');
});
Route::post('submit/projects', 'Project_Controller@store');
"Project_Controller.php" :
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'title' => 'required|max:255',
'dateDebut' => 'required|max:255',
'dateFin' => 'required|max:255',
'cout' => 'required|max:255',
'importance' => 'required',
//'etude' => 'required',
'partenaires_financiers' => 'required',
]);
if ($validator->fails()) {
return back()
->withInput()
->withErrors($validator);
}
$projet = new Projet;
$projet->title = $request->title;
$projet->dateDebut = $request->dateDebut;
$projet->dateFin = $request->dateFin;
$projet->cout = $request->cout;
$projet->partenaires_financiers = $request->partenaires_financiers;
$projet->importance = $request->importance;
$projet->save();
return redirect('/submit');
}
}
在添加"store"功能之前,我在控制器中使用此代码,并且它正在工作:
$create_projets = CreateProjets::find($id);
$data['importance'] = $create_projets->importance;
return view('submit', $data);
我知道错误是由"单选按钮"引起的
有没有人知道如何解决这个问题?
您想要更改create_projects_table
$table->integer('importance');
至 $table->string('importance');
或者如果 imporantance 是二进制值,如 0/1
$projet->importance = $request->importance === 'important' ? 1 : 0;
如果无线电选择为重要,则将重要性分配为 1。(不确定 tres 重要是多还是少重要)