laravel - 如何在数据库中插入这个 mySbjects 数组?
问题描述
我一直在尝试将其插入数据库,但我不知道如何将这些信息存储到数据库中......用户和成绩之间的关系是多对多的,成绩和 mySubject 之间的关系是 One-太多。
<div class="row">
@foreach($grades as $grade)
<div class="card shadow mx-2 my-4">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold">
<div class="custom-control custom-checkbox">
<input class="custom-control-input @error('grade') is-invalid @enderror" type="checkbox" id="{{$grade->id}}" name="grade[]" value="{{ $grade->id }}"/>
<label class="custom-control-label pt-1" for="{{$grade->id}}">{{$grade->name}}</label>
</div>
</h6>
</div>
<div class="card-body">
@foreach($grade->subjects as $subject)
<div class="custom-control custom-checkbox mb-2">
<input class="custom-control-input" type="checkbox" id="{{$grade->id}}{{$subject->id}}" name="mySubjects[{{$grade->id}}][]" value="{{ $subject->name }}"/>
<label class="custom-control-label" for="{{$grade->id}}{{$subject->id}}">
{{$subject->name}}
</label>
</div>
@endforeach
</div>
</div>
@endforeach
</div>
店铺功能
public function store(Request $request)
{
$user->grades()->sync($request->grade);
if($request->mySubjects){
//. . . .
}
}
}
解决方案
试试下面的代码:
public function store(Request $request)
{
$user->grades()->sync($request->grade);
if($request->mySubjects){
$mySubjects = $request-> mySubjects;
$data = [];
foreach($mySubjects as $subject){
array_push($data,
'your database field name'=> $subject,
'created_at' => now()->toDateTimeString(),
'updated_at' => now()->toDateTimeString(),
}
YourModelName::insert($data);
}
}
}
推荐阅读
- html - CSS“玻璃阴影”效果
- python - 如何获得全局步长变量的确定值(严格在增量之后或之前)
- dart - Flutter如何发布json数组
- amazon-web-services - Terraform 通过重新执行相同的 main.tf 创建多个 vpc
- javascript - 加载 AJAX 复选框的 Switchery 初始化错误
- amazon-web-services - 对其他 IAM 用户隐藏 EC2 实例
- .net - 为 ASP.NET Core lambda 函数 serverless.template 文件设置 AWS Authorizer 条目
- loops - Haskell:没有 (Num ()) 的实例 - 定义我自己的一元循环
- java - 设计 - 消费者模块的全局设置
- c# - c# - 如何用内联样式标签将span替换为c#中的b标签?