使用foreach在数据库laravel javascript中双重输入每个输入类型的文本
Posted
技术标签:
【中文标题】使用foreach在数据库laravel javascript中双重输入每个输入类型的文本【英文标题】:Double entry of each input type text in the database laravel javascript using foreach 【发布时间】:2018-11-03 06:07:41 【问题描述】:我的数据库中有这个。
人 |位置
学生 1 旧金山
student2 旧金山
学生 1 纽约
学生2纽约
我的控制器有问题。这是代码:
foreach((array)$request->stud as $person)
foreach((array)$request->studlocation as $location)
$hm = new HouseMate;
$hmid = rand();
$hm->hmid=$hmid;
$hm->rId_fk=$renterid;
$hm->person=$person;
$hm->location=$location;
$hm->save();
$hm->delete();
在我看来:
$(document).ready(function()
$("#dropdown").change(function()
var selVal = $(this).val();
$("#textboxDiv").html('');
$("#schoolloc").html('');
if(selVal > 0)
for(var i = 1; i<= selVal; i++)
$("#textboxDiv").append('<input type="hidden" value="student'+i+'" name="stud[]" />');
$("#schoolloc").append('<input type="text" name="studlocation[]" id="studlocation'+i+'" />');
var input = document.getElementById('studlocation'+i+'');
var autocomplete = new google.maps.places.Autocomplete(input);
autocomplete.addListener('place_changed', function ()
var place = autocomplete.getPlace();
);
);
【问题讨论】:
【参考方案1】:这是你想要的吗?
代码php:
$students = (array)$request->stud;
$locations = (array)$request->studlocation;
for ($i = 0; $i < count($studens); i++)
$hm = new HouseMate;
$hmid = rand();
$hm->hmid=$hmid;
$hm->rId_fk=$renterid;
$hm->person=$students[i];
$hm->location=locations[i];
$hm->save();
$hm->delete();
【讨论】:
Ohmygad 非常感谢您....您是救生员。从昨天开始我就一直在这样做.. 我确实给你投票了,但它说我需要 15 声望才能公开。 完成!嘿,如果你不介意,我还有一个问题。 @Cryptanalyst 所以你应该打开另一个问题。 我还要等 90 分钟才能发帖呼呼呼【参考方案2】:错误由此开始:
" $hm->lat=$slat[$i];"
这是我的控制器:
$students = (array)$request->stud;
$locations = (array)$request->studlocation;
$slat=(array)$request->slat;
$slng=(array)$request->slng;
for ($i = 0; $i < count($students); $i++)
$hm = new HouseMate;
$hmid = rand();
$hm->hmid=$hmid;
$hm->rId_fk=$renterid;
$hm->person=$students[$i];
$hm->location=$locations[$i];
$hm->lat=$slat[$i];
$hm->lng=$slng[$i];
$hm->save();
这是我的观点:
$(document).ready(function()
$("#dropdown").change(function()
var selVal = $(this).val();
$("#textboxDiv").html('');
$("#schoolloc").html('');
if(selVal > 0)
for(var i = 1; i<= selVal; i++)
$("#textboxDiv").append('<input type="hidden"
value="student'+i+'" name="stud[]" />');
$("#schoolloc").append('<input type="text"
name="studlocation[]" id="studlocation'+i+'" />');
var input = document.getElementById('studlocation'+i+'');
var autocomplete = new google.maps.places.Autocomplete(input);
$("#slat").html('');
$("#slng").html('');
autocomplete.addListener('place_changed', function ()
var place = autocomplete.getPlace();
var lat = place.geometry.location.lat();
var lng = place.geometry.location.lng();
$("#slat").append('<input type="hidden" name="slat[]" value='+lat+' />');
$("#slng").append('<input type="hidden" name="slng[]" value='+lng + ' />');
);
);
);
【讨论】:
可能是您丢失了 value 属性的双引号。 ` $("#slat").append(''); $("#slng").append(''); ` 可以把请求数组的数据发给我吗? 你是什么意思?视图或控制器或模式或数据库? 请执行:var_dump((array)$request) 我应该把它放在哪里?以上是关于使用foreach在数据库laravel javascript中双重输入每个输入类型的文本的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Laravel 8 中使用 foreach 从多选中保存数据?
如何使用 js 在刀片 laravel 中的 foreach 上更新变量