mysql - 输入数组到数据库
问题描述
我对此感到困惑。我尝试根据我的输入类型输入具有不同键和值的数组,并将其存储到我的数据库表的一列中。
这是我的输入类型。 输入
<div class="col-sm-6">
<div class="input-group control-group" >
<input type="text" name="kel_sekolah[]" class="form-control n1" placeholder="Kelurahan...">
<div class="input-group-btn">
<button class="btn btn-success btn-sm z2" type="button" style="padding:10px;"><i class="fa fa-plus" aria-hidden="true"></i> Add</button>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="input-group control-group" >
<input type="text" name="rt_sekolah[]" class="form-control n1" placeholder="Rt...">
<div class="input-group-btn">
<button class="btn btn-success btn-sm z1" type="button" style="padding:10px;"><i class="fa fa-plus" aria-hidden="true"></i> Add</button>
</div>
</div>
</div>
</div>
<script>
$(document).on('click','.z1', function(){
z1();
});
function z1(){
var kel_sekolah = '<div class="form-group p-3"><div class="row"><div class="col-sm-6"></div><div class="col-sm-6"><div class="input-group control-group" ><input type="text" id="kel_sekolah[]" name="rt_sekolah[]" class="form-control n1" placeholder="Rt..."><span id="kel_sekolahError" class="alert-message"></span><div class="input-group-btn"> <button class="btn btn-sm btn-danger remove1" type="button" style="padding:10px;"><i class="fa fa-minus" aria-hidden="true"></i> Remove</button></div></div></div></div>';
$('.myform1').append(kel_sekolah);
};
$(document).on('click','.z2', function(){
z2();
});
function z2(){
var kel_sekolah = '<div class="form-group p-3"><div class="row"><div class="col-sm-6"><div class="input-group control-group" ><input type="text" id="kel_sekolah" name="kel_sekolah[]" class="form-control n1" placeholder="Kelurahan..."><span id="kel_sekolahError" class="alert-message"></span><div class="input-group-btn"><button class="btn btn-sm btn-success z2" type="button" style="padding:10px;"><i class="fa fa-plus" aria-hidden="true"></i> Add</button></div></div></div><div class="col-sm-6"><div class="input-group control-group" ><input type="text" id="kel_sekolah" name="rt[]" class="form-control n1" placeholder="Rt..."><span id="kel_sekolahError" class="alert-message"></span><div class="input-group-btn"> <button class="btn btn-sm btn-success z1" type="button" style="padding:10px;"><i class="fa fa-plus" aria-hidden="true"></i> Add</button></div></div><button class="btn btn-sm btn-danger remove3" type="button" style="padding:10px;"><i class="fa fa-minus" aria-hidden="true"></i> Remove</button></div></div></div>';
$('.myform1').append(kel_sekolah);
};
$(document).on('click','.remove2', function(){
$(this).parent().parent().parent().parent().remove();
});
$(document).on('click','.remove3', function(){
$(this).parent().parent().parent().parent().remove();
});
</script>
这是我的控制器
public function daftarsds(Request $request)
{
$array = [];
foreach ($request->kel_sekolah as $key) {
foreach ($request->rt_sekolah as $value) {
$array[] = [$key => $value];
}
}
ListSekolahSd::Create([
'nama_sekolah' => $request->nama_sekolah,
'kuota_sekolah' => $request->kuota_sekolah,
'kel_sekolah' => $array,
]);
return redirect()->route('/admin/sd');
}
这是我的模型
class ListSekolahSd extends Model
{
use HasFactory;
protected $guarded = [];
protected $table = 'list_sekolah_sds';
protected $primaryKey = 'id';
protected $fillable = [
'nama_sekolah',
'kuota_sekolah',
'rt_sekolah',
'kel_sekolah',
];
// protected $casts = [
// 'kel_sekolah' => 'array',
// ];
}
如何将这 2 个输入添加到我的列中?我希望列值是这样的: {"key1":["value1","value2"],"key2":["value1","value2"]}
但我得到的是: [{"key1":"value1"},{"key1":"value2"},{"key2":"value1"},{"key2":"value2"}]
有人可以帮我吗?
解决方案
推荐阅读
- javascript - JS / CSS:覆盖网站内部的 MAGNIFIED-macOS-CURSOR
- audio - 如何在 json ot txt 中使用 ffmpeg 获得音频峰值?
- c# - 有什么方法可以让部分类的不同方法在不同文件夹之间拆分并使用正确的命名空间约定?
- video - 当我上传新视频时,它返回“无功能条款匹配”错误
- javascript - Javascript:在不使用异步等待的情况下等待承诺
- javascript - 我在哪里可以找到 WordPress index.php 文件?
- swiftui - UIApplication.didBecomeActiveNotification 未调用 iOS 14
- c++ - 通过确定邻居算法计算点
- typo3 - 如何为大量新闻文章手动创建短链接?
- python - Python:如何使用 subprocess.call 删除指定的文件?