php - 刀片 laravel 在隐藏的输入中获取最新的 id
问题描述
每个组都有几个子组。
我有这样的filters
表格。
我有一张filters
桌子。
public function up()
{
Schema::create('filters', function (Blueprint $table) {
$table->id();
$table->foreignId('category_id')->constrained()->cascadeOnDelete();
$table->integer('parent_id');
$table->string('name')->nullable();
$table->string('latin')->nullable();
$table->smallInteger('field')->nullable();
$table->string('checkbox_name')->nullable();
$table->string('color_name')->nullable();
$table->string('color_code')->nullable();
$table->timestamps();
});
}
创建.blade.php
<script>
$('#addGroup').click(function () {
count++;
'<input type="text" id="name" class="form-control" name="filters['+count+'][name]">'+
'<input type="text" id="latin" class="form-control" name="filters['+count+'][latin]">'+
'<select id="field" class="form-select field" name="filters['+count+'][field]">'+
'<option value="1">Check Box</option>'+
'<option value="2">Color</option>'+
'</select>'+
});
$('#addSubGroup').click(function () {
count++;
'<input type="text" id="checkbox_name" class="form-control" name="filters['+count+'][checkbox_name][]">' +
'<input type="text" id="color_name" class="form-control" name="filters['+count+'][color_name][]">'+
'<input type="text" id="color_code" class="form-control" name="filters['+count+'][color_code][]">'+
});
</script>
如何保存checkbox_name
和color_name
和color_code
。
public function store(Request $request)
{
$filters = collect([]);
if ($request->filters) {
foreach ($request->filters as $filter) {
if ($filter['name'] != null && $filter['field'] != null) {
$model = Filter::updateOrCreate([
'id' => $request[0],
], [
'name' => $filter['name'],
'latin' => $filter['latin'],
'field' => $filter['field'],
'category_id' => $request->category_id,
'parent_id' => 0,
]);
$filters->push($model);
}
}
}
Filter::whereNotIn('id', $filters->pluck('id'))->delete();
return redirect()->back();
}
我在数据库中看到,但checkbox_name
,color_name
和color_code
, 是空白的。
我的问题
如何将parent_id
每个子组保存到id
组中。
我想将所有数据保存在过滤器表中。我不想将数据保存在多个表中。
当我添加方法dd
时。store
public function store(Request $request)
{
dd($request->all());
我看到这个消息。
到目前为止没有问题。只是存储呢?
解决方案
推荐阅读
- kubernetes - kubernetes - 如何让一份工作与多个节点一起工作?
- vcf-vcard - vCard 4.0 无法正确显示,标签被忽略,字符解码错误等
- angular - Spring Boot:如何将 Autocad 转换为 GeoJSON?
- python - next(iter(..)) 函数产生错误
- java - 在 HashSet 中存储坐标
- ruby-on-rails - 带有 Faraday 的 Rails 应用程序:在没有 url 参数的情况下重构 Faraday::new() 时出现问题
- python - Python web scrape - 不显示所有容器
- matlab - 首先定义一个多项式(作为一个函数),然后用一个矩阵进行代入,结果出现了一些问题
- sql - Oracle SQL:每个客户端的“amount_sold”行的总和
- python - 如何计算熊猫数据框中的总天数