【发布时间】:2021-03-04 06:49:03
【问题描述】:
我正在尝试从数组中插入多个数据,但在插入时只插入我键入的最后一个数据。
这是我发送数据的前端代码
let payload = new FormData();
for(var i = 0; i< this.addresses.length; i++) {
payload.append('address', this.addresses[i].Adress)
payload.append('city', this.addresses[i].City)
payload.append('country', this.addresses[i].State)
}
payload.append("customer_number", this.customer_number);
payload.append("documents_email", this.documents_email);
payload.append("address_address", this.address_address);
payload.append("tenant_id", this.id);
payload.append("address_countries", this.selectedStateAddress);
payload.append("address_cities", this.selectedCityAddress);
payload.append("name", this.name);
payload.append("abbr", this.abbr);
payload.append("email", this.email);
payload.append("phone", this.phone);
payload.append("contact", this.contact);
payload.append("chamber_commerce", this.chamber_commerce);
payload.append("vat", this.vat);
this.$http.post("/saveTenant", payload)
.then(res => {
this.datatenants = res.data.data;
console.log("The client save");
});
这是我接收数据的后端代码
$address = $request ->getPost('address', 'string');
$country_id = $request ->getPost('country', 'int');
$city_id = $request ->getPost('city', 'int');
$addresses = new TenantAddresses();
$addresses->address = $address;
$addresses->country_id = $country_id;
$addresses->city_id = $city_id;
if ($addresses->save() === false) {
$this->db->rollback();
return;
}
这是保存时到达数据的内容
我不知道哪种方法是正确的,所以当我添加更多数据以正确保存时,我希望我的疑问已经清楚,您可以与我合作。
我收到了建设性的批评,因为我对编程有点陌生。非常感谢。
【问题讨论】:
-
看起来
payload不包含地址数组。我会检查FormData类的函数append。我认为append函数一次只写入一个元素。相反,您需要发送一个数组。 -
我的问题一直没能解决,你能帮我多一点吗?