一般错误:1366 不正确的整数值:拉拉维尔中的单选按钮



我在尝试提交表单时遇到此错误: 一般错误: 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 重要是多还是少重要)

最新更新