(Laravelが説得力を持つ新たな行を作成し)、そしてDBテーブルにデータを挿入し、次のコードは良好に動作SQLSTATEは[HY000]:一般的なエラー:1364私はAJAXからの要求を取るコントローラがLaravelで
$.ajax({
async: false,
url: {{ route(updateFormcoords) }},
headers: {"X-CSRF-TOKEN": token},
type: 'POST',
dataType: 'json',
data: {field_name:boxes[i].field_name, x: x, y: y, w: w, h: h, r: r, shape: boxes[i].shape, fill: boxes[i].fill.substring(1), multiMark: boxes[i].multiMark, q_id: boxes[i].q_id, q_option: boxes[i].q_option, _token: token}
});
を-and最終的ROUTは、以下れる
:-Laravelコントローラ機能public function updateFormcoords(Request $data, Form $form)
{
if ($data->ajax()){
$formcoord=new Formcoord;
$formcoord->field_name=$data->input('field_name');
$formcoord->x=$data->input('x');
$formcoord->y=$data->input('y');
$formcoord->w=$data->input('w');
$formcoord->h=$data->input('h');
$formcoord->r=$data->input('r');
$formcoord->shape=$data->input('shape');
$formcoord->fill=$data->input('fill');
$formcoord->q_id=$data->input('q_id');
$formcoord->q_option=$data->input('q_option');*/
$form->formcoords()->save($formcoord);
}
}
-theのAJAXリクエストは以下であります3210
Route::post('/createform/{form}/update', ['as' => 'updateFormcoords', 'uses' =>'[email protected]']);
これはすべてうまくいきますが、実際には$ request-> all()ですべてのフィールドを作成する必要があるので、フィールドのフィールドを書き留める必要はありませんDBは、他の言葉では、これは私がしようとしているものです:
public function updateFormcoords(Request $data, Form $form)
{
if ($data->ajax()){
$formcoord=new Formcoord;
$formcoord->create($data->all());
$form->formcoords()->save($formcoord);
}
}
が、その後、私はLaravelの雄弁がいっぱいになっていたと思ったので、次のエラー
"SQLSTATE[HY000]: General error: 1364 Field 'form_id' doesn't have a default value (SQL: insert into
formcoords
(field_name
,x
,y
,w
,h
,r
,shape
,fill
,q_id
,q_option
,updated_at
,created_at
) values (asdf, 0.08479087452471483, 0.018527667984189724, 0.09125475285171103, 0.06027667984189724, 0, 10, 91e57b, 0, 0, 2017-02-23 16:13:00, 2017-02-23 16:13:00))"
なった私は理解していません親DBテーブルに行を保存するときにform_idフィールドが自動的に変更されるvar iable(コード行 "$ form-> formcoords() - > save($ formcoord)"にあります。 多くのご協力をいただきありがとうございます
よろしくお願いいたします。
どうもありがとう、それは今完璧に動作し、私はちょうどlaravelを使い始めるよ、本当にあなたの助けに感謝 –