如何处理通过laravel中的axios从vue表单发送的阵列?
Hi具有如下所示的vue组件。我使用数组来包含动态数量的输入。然后通过axios将其作为post请求传递给laravel函数。在其中进行处理,并根据该数组中的行数创建多个表行。我用来传递值的数组是ChargeArray如何处理通过laravel中的axios从vue表单发送的阵列?,laravel,vue.js,axios,Laravel,Vue.js,Axios,Hi具有如下所示的vue组件。我使用数组来包含动态数量的输入。然后通过axios将其作为post请求传递给laravel函数。在其中进行处理,并根据该数组中的行数创建多个表行。我用来传递值的数组是ChargeArray 如何处理从laravel函数通过axios发送的数组以创建多个表行 " 添加行 收费 请选择一个 {{charge.name} 总计 提交 导出默认值{ 数据:函数(){ 返回{ 总计:'', 名单:[], 充电器阵列:[ {chargeType:'',编号:'',c
如何处理从laravel函数通过axios发送的数组以创建多个表行 "
添加行
收费
请选择一个
{{charge.name}
总计
提交
导出默认值{
数据:函数(){
返回{
总计:'',
名单:[],
充电器阵列:[
{chargeType:'',编号:'',chargedPrice:'',总计:'}]
}
},
安装的(){
console.log('组件已安装')
},
计算:{
grandTotal:函数(){
这个。总数=0;
对于(var i=0;i{
此.chargeArrays[index].chargedPrice=res.data;
});
},
updateTotal:函数(索引){
this.chargeArrays[index].total=this.chargeArrays[index].chargedPrice*this.chargeArrays[index].nos;
},
fetchPriceList:函数(){
获取('/api/pricechart')。然后((res)=>{
this.list=res.data;
});
},
formSubmit:function(){
axios.post(“/job/create”{
chargeArrays:this.chargeArrays,
}).然后(功能(响应){
控制台日志(响应);
}).catch(函数(错误){
console.log(错误);
});
}
}
}'
看起来您的值名称(camelCase)与您的表列名(charge_type)不匹配,这只是一个猜测,因此您可能需要在数组中循环,如下所示
$charges = $request->all('chargeArrays');
foreach($charges as $i => $charge){
$c = [
'charge_type' => $charge['chargeType'],
'nos' => $charge['nos'],
'charged_price' => $charge['chargedPrice'],
'total' => $charge['total']
];
// insert the data...
DB::table('the_charge_table')->insert($c);
}
看起来您的值名(camelCase)与表列名(charge_type)并不匹配,这只是一个猜测,因此您可能需要在数组中循环,如下所示
$charges = $request->all('chargeArrays');
foreach($charges as $i => $charge){
$c = [
'charge_type' => $charge['chargeType'],
'nos' => $charge['nos'],
'charged_price' => $charge['chargedPrice'],
'total' => $charge['total']
];
// insert the data...
DB::table('the_charge_table')->insert($c);
}
我通过以下循环得到了答案
$priceInput=$request->only('chargeArrays');
foreach($priceInput as $i => $chargeArray){
foreach ($chargeArray as $j=> $charge) {
$c = [
'charge_type' => $charge['chargeType'],
'nos' => $charge['nos'],
'charged_price' => $charge['chargedPrice'],
'total' => $charge['total']
];
\Log::info($c);
}
}
我通过以下循环得到了答案
$priceInput=$request->only('chargeArrays');
foreach($priceInput as $i => $chargeArray){
foreach ($chargeArray as $j=> $charge) {
$c = [
'charge_type' => $charge['chargeType'],
'nos' => $charge['nos'],
'charged_price' => $charge['chargedPrice'],
'total' => $charge['total']
];
\Log::info($c);
}
}
您能否添加一个实际发布数组的显示示例?[{chargeType:1,No:3,chargedPrice:200,total:600},{chargeType:3,No:3,chargedPrice:200,total:600}]。就像这个数组是通过Axiosi发送的一样,当我Log::info($request->only('chargeArray')时,我会得到以下结果数组('chargeArray'=>array(0=>array)('chargeType'=>1,'nos'=>1','chargedPrice'=>200,'total'=>200,),1=>array('chargeType'=>2,'nos'=>2,'chargedPrice'=>45,'total'=>90,),)你能添加一个实际发布数组的显示示例吗?[{chargeType:1,nos:3,chargedPrice:200,total:600},{chargeType:3,nos:3,chargedPrice:200,total:600}]。就像这个数组是通过axioswhen I Log::info发送的一样($request->only('chargeArray'))我得到以下结果数组('chargeArray'=>array(0=>array('chargeType'=>1,'nos'=>1,'chargedPrice'=>200,'total'=>200,),1=>array('chargeType'=>2,'nos'=>2,'chargedPrice'=>45,'total'=>90,),),)local.ERROR:ErrorException:Undefined index:chargeType in/home/dc/projects/quote/app/Http/Controllers/JobController.php:27我收到了这个错误,很抱歉我看不到请求数组将如何返回。local.ERROR:ErrorException:Undefined index:chargeType in/home/dc/projects/quote/app/Http/Controllers/JobController.php:27我收到此错误很抱歉,我无法准确看到请求数组将如何返回。我很高兴您能够正常工作。很不幸,我给了您工作,但您发布了自己的答案,并将我的答案的90%复制粘贴。如果您将“ChargeArray”添加到
->all()中
函数我相信它会起作用。如果我的代码是有用的,并且现在随着我的更新而起作用,我将感谢您的赞扬。仅供参考我相信函数在Laravel 5.5中是新的。感谢您的努力,我很高兴您能使用它。不幸的是,我给了您这项工作,但您发布了自己的答案,其中90%是我的答案的副本和粘贴。如果您愿意在->all()中添加“chargeArrays”
函数我相信它会起作用。如果我的代码对我有所帮助,并且现在随着我的更新而起作用,我将不胜感激。仅供参考,我相信“唯一()”函数在Laravel 5.5中是新的。感谢您的努力