如何将此查询保存到我的数据库?该查询连续有10个文本框,但我无法将其保存到数据库中。也许我的控制器错了。
这是我的create.blade.php
<script type="text/javascript">
$(document).ready(function(){
var x =0;
$(".add-row").click(function(){
x++;
$("table > tbody").append('<input class="form-control" type="text" name="MFI" placeholder="Major Final Output" id="MFI" value="Participate in school activities">');
}); //add input box
});
$(document).on('click', '.delete-row', function(){
alert("ROWS DELETED! ")
$(this).parent().parent().remove();
我的notescontroller.php
public function store(Request $request)
{
$inputData= $request->all();
Note::create($inputData);
$ipcrId=$request->ipcr_id;
return redirect()->route('ipcr.show', compact('ipcrId'));
}
我的note.php(模特)
protected $fillable=['MFI','successIndicator','actualaccomplishments','distribution','Q1','E2','T3',' A4','Ave','Remarks','ipcr_id'];
public function ipcr()
{
return $this->belongsTo(ipcr::class);
}
答案 0 :(得分:0)
这里的主要问题是,对于多行,您需要将输入命名为数组:
<input type="text" name="mfi[]">
然后在你的控制器中你可以这样做:
public function store(Request $request) {
$ipcr = Ipcr::find($request->ipcr_id);
foreach ($request->mfi as $key => $value) {
$ipcr->notes()->create([
'mfi' => $request->mfi[$key]
// repeat for other fields
]);
}
return redirect()->route('ipcr.show', compact('ipcrId'));
}
(只要你的Ipcr模型中有反比关系):
public function notes()
{
return $this->hasMany(Note::class);
}
有更清洁的方法来完成这项工作,但我认为这应该有效。我建议在控制器中大量使用dd($request)
,直到您了解$ request中的表单数据,并且您可能还需要一些验证。祝你好运。