【发布时间】:2020-07-12 16:14:45
【问题描述】:
我想将学生的课程信息保存到数据库课程表中。学生可以使用表格一次添加多个课程、上课时间和部分。以下是课程表的详细信息:
**ID, nsu_id 课程, 部分, 类开始, 类结束**表单(视图)
<form method="POST" action="/store">
@csrf
{{-- clone start from here --}}
<div class="parent">
<div id="form-set">
<div class="form-group row">
<label for="course" class="col-md-4 col-form-label text-md-right">{{ __('Course & Section') }}</label>
<div class="col-md-3">
<select type="text" class="form-control" name="course[]">
<option>Course</option>
<option>cse 115</option>
<option>cse 215</option>
<option>cse 311</option>
<option>cse 411</option>
</select>
</div>
<div class="col-md-3">
<select type="number" class="form-control" name="section[]">
<option>Section</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
</div>
</div>
<div class="form-group row">
<label for="Class Timing" class="col-md-4 col-form-label text-md-right">{{ __('Class Timing') }}</label>
<div class="col-md-3">
<select type="text" class="form-control" name="class_start[]">
<option>Start</option>
<option>08:00 AM</option>
<option>09:40 AM</option>
<option>11:20 AM</option>
<option>01:00 PM</option>
<option>02:40 PM</option>
<option>04:20 PM</option>
</select>
</div>
<div class="col-md-3">
<select type="text" class="form-control" name="class_end[]" >
<option>End</option>
<option>9:30</option>
<option>11:10</option>
<option>12:50</option>
<option>2:30</option>
<option>4:10</option>
<option>5:50</option>
</select>
</div>
</div>
</div>
</div>
<div class="form-group row justify-content-center" style="margin-top: -11%">
<div class="col-md-10" style="visibility: hidden"></div>
<div class="col-md-2">
<button class="btn btn-xs btn-success" id="add">Add</button>
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$('#add').click(function(e) {
e.preventDefault();
$("#form-set").clone().appendTo(".parent");
});
});
</script>
{{-- Clone end here --}}
<div class="form-group row">
<label for="nsu_id" class="col-md-4 col-form-label text-md-right">{{ __('NSU ID') }}</label>
<div class="col-md-6">
<input type="number" required class="form-control" name="nsu_id" placeholder="Exp. 1520836042">
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-6 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Register') }}
</button>
</div>
</div>
</form>
型号
class Course extends Model
{
protected $table='courses';
protected $fillable=[
'nsu_id','course','section','class_start','class_end'
];
}
迁移
public function up()
{
Schema::create('courses', function (Blueprint $table) {
$table->increments('id');
$table->integer('nsu_id');
$table->string('course');
$table->integer('section');
$table->string('class_start');
$table->string('class_end');
$table->timestamps();
});
}
这是我对控制器所做的,我得到数组到字符串转换异常。
公共功能存储(请求 $request) { $data[]=$request->all(); //dd($data); $课程数据=[]; foreach($data 作为 $data){ $点数据[]=[ 'nsu_id'=>$data['nsu_id'], '课程'=>$数据['课程'], 'section'=>$data['section'], 'class_start'=>$data['class_start'], 'class_end'=>$data['class_end'], ]; } DB::table('courses')->插入($courseData); 返回重定向()->to('/home'); }当我尝试使用辅助函数 dd($data);
获取值时 数组:1 [▼ 0 => 数组:6 [▼ "_token" => "2AspZiawULQy4fMikkBTRzjvUxPVnZPPonJrZAUy" “课程” => 数组:2 [▼ 0 => "cse 115" 1 => "cse 215" ] “节” => 数组:2 [▼ 0 => "1" 1 => "2" ] "class_start" => 数组:2 [▼ 0 => "08:00 AM" 1 =>“上午 9 点 40 分” ] "class_end" => 数组:2 [▼ 0 => "9:30" 1 => "11:10" ] “nsu_id” => “1520836042” ] ]错误:数组到字符串的转换(SQL:插入courses(class_end,class_start,course,nsu_id,section)值(9:30 , 08:00 AM, cse 115, 1520836042, 1))
我们将不胜感激任何形式的帮助
【问题讨论】:
标签: php mysql database laravel