【发布时间】:2017-04-03 21:23:24
【问题描述】:
我知道在 Laravel 中还有其他关于批量插入的问题。但是当我尝试将它存储在数据库中时,我遇到了一个问题。
我正在使用insert() 进行批量插入。我有一组来自request 的数据。我以前从未使用过insert 方法。它抛出一个错误:
数组到字符串的转换(SQL:插入
questions(answer,question,questionnaire_id) 值(1995, What is model of your bike1, ?))
我制定了一份调查问卷。使用 jQuery 在按钮单击时动态添加问题。
这是我尝试存储数据的方法:
/**
* Create questions
*
*/
public function createQuestions(Request $request)
{
// Insert new records
$data[] = $request->except('_token');
Question::insert($data);
return back()->with('message', 'Questionnaire is being created successfully');
}
编辑:
这是由jquery附加的html代码,用户可以添加多个问题
'<div class="question'">
<div class="form-group">'+
<label class="control-label col-md-4" for="question-type">Question Type:</label>
<div class="col-md-4">'+
<select class="form-control question-type" id="'+counter+'">
<option value="text" id='+counter+'>Text</option>
<option value="multiple" id="'+counter+'">Multiple Choice</option>
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-4" for="question">Enter Question:</label>
<div class="col-md-4">
<input type="text" name="question[]" class="form-control" />'+
</div>
<div class="col-md-4">
<button type="button" class="btn btn-danger btn-delete " id="'+counter+'">Delete Question</button>
</div>
</div>
<div class="form-group txt-answer'+counter+'">
<label class="control-label col-md-4" for="answer">Answer:</label>
<div class="col-md-4">
'<input type="text" name="answer[]" id="answer" class="form-control" />
</div>
</div>
<hr>
<div>
</div>
这是dd结果
【问题讨论】:
-
试试这个;
Question::create($request->all()); -
我认为 create 不存储批量数据?
标签: php arrays laravel bulkinsert